Leetcode PHP题解--D100 387. First Unique Character in a String

D100 387. First Unique Character in a String 题目链接 387. First Unique Character in a String 题目分析 返回给定字符串中第一个只出现了一次的单词下标。 若没有,则返回-1。 思路 把遇到的单词存进两个数组。 一个用来记录只出现了一次的数组A,另一个记录出现了不只一次的数组B。 遍历每个字母,当当前字母存...

Go 语言函数式编程系列教程(二十三) —— 函数篇:递归函数与性能优化

递归函数的编写思路 很对编程语言都支持递归函数,所谓递归函数指的是在函数内部调用函数自身的函数,从数学解题思路来说,递归就是把一个大问题拆分成多个小问题,再各个击破,在实际开发过程中,某个问题满足以下条件就可以通过递归函数来解决: 一个问题的解可以被拆分成多个子问题的解 拆分前的原问题与拆分后的子问题除了数据规模不同,求解思路完全一样 子问题存在递归终止条件 需要注意的是,编写递归函...

Go 语言函数式编程系列教程(二十二) —— 函数篇:系统内置函数

Go 语言提供了一些不需要导入任何包就可以直接使用的内置函数。我们把这些内置函数做一个简单的分类,如下表所示: 名称 说明 close 用于在管道通信中关闭一个管道 len、cap len 用于返回某个类型的长度(字符串、数组、切片、字典和管道),cap 则是容量的意思,用于返回某个类型的最大容量(只能用于数组、切片和管道) new、make new 和 make ...

Go 语言函数式编程系列教程(二十一) —— 函数篇:匿名函数与闭包

匿名函数 熟悉 Laravel 框架(一个 PHP Web 框架)的同学对匿名函数应该很熟悉,Laravel 框架中有着大量匿名函数的应用场景,比如路由定义、绑定实现到接口等: // 路由定义 Route::get('hello', function () { return '你好,欢迎访问 Laravel 学院!'; }); // 绑定实现到接口 $this->app-...

Leetcode PHP题解--D99 860. Lemonade Change

D99 860. Lemonade Change 题目链接 860. Lemonade Change 题目分析 这道题目是典型的收银问题了。 假设你在开店第一天没有零钱,你的商品卖5元。纸币有5元、10元、20元三种。给定一个数组代表你今天遇到的客人在买东西时给的钱。判断你的钱箱能不能顺利给每一位客人找零。(假设每一位客人都只买一件商品) 思路 首先判断客户给的是哪种。 如果是5元的话,...

Leetcode PHP题解--D98 697. Degree of an Array

D98 697. Degree of an Array 题目链接 697. Degree of an Array 题目分析 返回出现次数最多的元素的键差最小的值。 思路 先用array_count_values计算元素出现次数,用arsort排序。 再遍历该数组,记录第一个元素的值。用以记录最大值。 获取当前遍历元素在原数组中的最小下标和最大下标。其差值为所求数。 最后返回最小的该数即可...

Laravel-Admin 最全安装方法与汉化教程图解

大神绕道,新手速来看 https://github.com/imnotdoubi/laravel 内附文档(你懂的)喜欢的话可以给个 Star 1、有很多朋友在安装的时候,直接运行下面的 composer 报错 Could not open input file: artisan 解决方法: 这里应该是你先本地安装一个 larave...

Go 语言函数式编程系列教程(二十) —— 函数篇:变长参数

所谓变长参数指的是函数参数的数量不确定,可以按照需要传递任意数量的参数到指定函数,比如 fmt.Printf 函数的参数列表显然就是个变长参数。 PHP 中的变长参数简介 PHP 函数也支持变长参数,在 PHP 5.5 及更早版本中,可以在定义函数时设置参数为空,然后在函数体中通过 func_num_args()、func_get_arg() 以及 func_get_args() 之类的...