Leetcode基础刷题之PHP解析( 73. Set Matrix Zeroes)

这整体思路就是先扫描第一行第一列如果有0的行列,各自标识一下。再扫描其后的数组,如果存在0,则将对应的第一行第一列设置成0,接着再判断除去第一行第一列之后的数组,如果第一行或者第一列有一个是0,那么直接设置它的值是0,最后通过标识把第一行第一列的值更新是否为0。有点绕,具体看代码...

Leetcode PHP题解--D104 167. Two Sum II - Input array is sorted

D104 167. Two Sum II - Input array is sorted 题目链接 167. Two Sum II - Input array is sorted 题目分析 给定一个已经排序好的整数数组,从中寻找两个数字,使其相加之后等于给定的一个数字。 返回这两个数字对应的下标。 思路 首先想到的思路当然是逐个遍历,但是会超时。就不细说了。 之后想到的是用二分法找到小于...

基于 Swoole 构建高性能 Laravel 应用系列 —— Swoole 的底层架构及运行原理

前面我们已经陆续介绍了 Swoole 提供的各种功能,回过头来再看 Swoole 官网的那句 Slogan:「面向生产环境的 PHP 异步网络通信引擎」,想必你会有更加深切的体会,有了 Swoole 扩展,我们可以在 PHP 中轻松实现多进程、异步编程和并发编程,从而开发出高性能、可扩展的 Web 应用。 接下来,我们来探讨下 Swoole 的底层架构和运行原理,以便你可以在开发过程中更...

Go 语言面向对象编程系列教程(二) —— 类的定义、初始化和成员方法

上篇教程我们简单给大家介绍了 Go 语言的类型系统,关于基础类型、复合类型以及值语义和引用语义我们前 面在数据类型系列里面已经基本都介绍过了,接下来,我们就与 Go 语言面向对象编程相关的特性展开介绍。 类的定义和初始化 Go 语言的面向对象编程与我们之前所熟悉的 PHP、Java 那一套完全不同,没有 class、extends、implements 之类的关键字和相应的概念,而是借助...

Leetcode PHP题解--D103 447. Number of Boomerangs

D103 447. Number of Boomerangs 题目链接 447. Number of Boomerangs 题目分析 给定一个坐标数组,从中任意取3个坐标(i,j,k),使得从i到j的距离等于i到k的距离。且(i,j,k)与(i,k,j)不是同一个组合,需单独计算。 思路 逐个遍历,计算两点距离。并记录在一个数组中。 对于具有相同距离的边的个数,组合数量有以下规律: 当有...

Leetcode PHP题解--D102 383. Ransom Note

D102 383. Ransom Note 题目链接 383. Ransom Note 题目分析 给定一个字符串,判断这些字母在另一个给定的字符串中,出现次数是否相等。 思路 先获取两个字符串中各字符的出现次数,再逐个遍历,判断出现次数是否满足条件。 最终代码 ...

Go 语言面向对象编程系列教程(一) —— 类型系统概述

对于面向对象编程的支持,Go 语言的实现可以说是完全颠覆了以往我们对面向对象编程的认知,下面我们先通过对 Go 语言类型系统的介绍让你有一个整体的认知。 Go 语言面向对象编程设计得简洁而优雅。 简洁之处在于,Go 语言并没有沿袭传统面向对象编程中的诸多概念,比如类的继承、接口的实现、构造函数和析构函数、隐藏的 this 指针等,也没有 public、protected、private ...

基于 Laravel Prequel 扩展包通过 Web 界面管理 MySQL 数据库

简介 Laravel Prequel 是一个数据库管理工具,可以在某个 Laravel 项目中安装该扩展包,从而实现对数据库的在线管理,这样一来就可以通过它替代掉那些与项目本身分离的、需要独立安装的其它数据库管理工具了,比如 phpMyAdmin、Sequel Pro、Navicat 以及 MySQL Workbench 等。 和 phpMyAdmin 一样,Prequel 需要在浏览器...