- 博客(15)
- 收藏
- 关注
原创 最大正方形(LeetCode221)
1.简单的动态规划 以当前点为右下角建立正方形 if当前点是1 那么就要判断 他的左边 上面 左上方三个点 是否能各自构成正方形 取三个点的最小边(因为题目要求的是正方形面积 所以必须得保证构成正方形) + 1 就是当前点能构成正方形的边长 列出一个状态方程 就OK 了private function maxSquare($arr){ $dp = []; $max = 0; ...
2019-08-12 16:20:07
136
原创 买入股票的最佳时机(LeetCode121)
1.维护一个买入时间的最小单调栈 再用卖出数组相减 找出最大值2.当天减去前一天形成一个数组,代表今天买入明天卖出的收益情况,转换为求数组最大连续和既是最大收益private function monSta($arr){$minSta = [];$minSta[] = $arr[0];$max = 0;for($i=0;$i<count($arr)-1;$i++){ if...
2019-08-12 14:42:03
150
原创 朋友圈(leetcode547)
1.dfs 按照每一个人都搜一遍 如果他没有跟别人有关联 就+1private function dfs($arr){ $vis=[]; for($i=0;$i<count($arr);$i++) $vis[$i]=0; $num = 0; for($i=0;$i<count($arr);$i++){ if($vis[$i] ===...
2019-08-08 19:25:49
170
原创 合并区间(leetcode56)
1.可以暴力 拿每个区间和别的区间去比较 如果能合并的标记一下呀 下个区间就不用去比较了 复杂度n22.先按照区间的起始位置排序,把第一个元素压入结果集 循环数组 比较第i个区间和结果集的最后一个元素末位置大小关系,如果大于说明没交集 直接压入 小于等于 则合并区间public function run(){ $arr = [ [1,3], [9,12...
2019-08-08 14:52:03
137
原创 三数之和(LeetCode15)--php
1.两数之和变形版 头尾固定 mid从第二个元素开始 如果三数之和大于目标 尾-- 如果小于mid++ 如果mid==end-1了 就head++ mid还是从head+1起 深搜也可以private function _3Sum($arr, $sum){ sort($arr); $head = 0; $mid = 1; $end = count($arr)...
2019-08-01 20:03:58
184
原创 岛屿的最大面积(Leetcode695) --php
1.就是将二维数组按行遍历然后取当前点的上下左右四个点递归,遇到不是1的停止,找到最大值,注意将遍历过的点置0。只会这个样子的了。。。。private function maxArea($arr){ $max =0; for($i=0;$i<count($arr);$i++){ for($j=0;$j<count($arr[0]);$j++){ ...
2019-08-01 19:59:25
227
原创 大数相乘 LeetCode43 --php
模仿一下原始的竖乘式计算方法 然后从个位开始 大于10的要进位 当然还有比竖乘式更巧妙的计算方法 但是我不会。。。。private function bigMul($str1, $str2){ $len1 = strlen($str1); $len2 = strlen($str2); $arr =[]; for($i=0;$i<($len1+$len2);...
2019-07-26 11:04:05
119
原创 LeetCode567字符串的排列--PHP
两个字符串S1,S2判断S2是否含有S1的任一排列1.s1全排列一下 s2中find2.滑动窗口,strlen(s1)长度内 含有的字符是否相同private function cmp(str1,str1,str1,str2){len1=strlen(len1 = strlen(len1=strlen(str1);len2=strlen(len2 = strlen(len2=strle...
2019-07-25 16:14:20
188
原创 入职一年了
从2018年毕业入职到现在,整整一年的时间,时间真的过的好快,大一入学时的熙熙攘攘 毕业要走时的依依惜别 仿佛都历历在目近在眼前。这一年的时间,从一个 学生时代的C++er 匆匆忙忙的变成了 一个二线公司的Phper。有许多收获也有许多失落,收获是php从一点不会 到可以hold住项目的迭代了 从linux的半吊子 变成了现在的0.8吊子 laravel tp5也都略知一二 redis ngi...
2019-07-09 23:38:00
261
原创 现有一个数为N,通过在123456789中间加入+-号,是否能拼出这个数N,如果能输出运算表达式以及种数num,如果不能输出0
#include#includeusing namespace std;int ops[21];const char sym[3] = {’+’ , ‘-’ , ’ '};int result , num;void dfs(int layer, int currentResult, int lastOp, int lastSum){lastSum *= (layer > 9)...
2018-12-19 18:27:22
266
原创 PHP实现二叉树前中后序遍历
class Node{public $value;public $left;public $right;}function preorderTravel(Node $root = null){$tree[] = root;while(root; while (root;while(tree) {node=arraypop(node = array_pop(node=arr...
2018-12-18 17:48:47
327
原创 数组中出现次数超过一半的元素
复杂度:O(n)不改变数组原先顺序#include using namespace std;void findMoreThanHalfEle(int arr[],int length){if(NULL== arr ||length <= 0){cout<<“input error”<<endl;return ;}int res = arr[0]...
2018-12-15 19:31:49
337
原创 数组中重复的数字
在一个长度为n的数组里,所有数字范围都在0~n-1之间,数组里某些数字是重复的,请随意输出一个重复的数字。。。#include#includeusing namespace std;void findOneDuplicateEle(int arr[],int length){if(NULL == arr ||length <= 0){cout<<“input er...
2018-12-15 10:29:42
136
原创 浅谈SSO
1.什么是SSOSSO全称是Single Sign On,中文翻译为单点登录。SSO是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。解决了合法身份的用户在登录多个系统时,需要多次的权限认证问题,减少了重复、冗余的验证登录操作。2.SSO原理图1.访问www.a.com/indexA发现没有登录过将其重定向去www.sso.com认证中心2.访问认证中心,发现也...
2018-12-14 20:31:38
731
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人