golang力扣leetcode 416.分割等和子集

416.分割等和子集416.分割等和子集题解题目:给定一个数组,问能否将该数组分成两个数组,并且这两个数组元素累加值一样思路:首先剪枝:1. 数组元素少于2,肯定不行2. 数组元素累加和是奇数,肯定不行3. 元素中最大元素>累加和的一半,肯定不行那么对于数组来说,只要拼凑出元素和=累加和/2,...

golang力扣leetcode 699.掉落的方块

699.掉落的方块699.掉落的方块题解题目:相当于俄罗斯方块下落,如果当前方块下面有方块,就会叠上去,给一个方块数组,求每个方块的高度,不过这句话要做修改,是记录目前所有已经落稳的== 方块堆叠的最高高度 ==,即如果当前方块的高度小于之前堆叠的最高高度,当前高度赋值为堆叠的最高高度思路:很明显的...

golang力扣leetcode 675.为高尔夫比赛砍树

675.为高尔夫比赛砍树675.为高尔夫比赛砍树题解题目:给一个二维矩阵,0不能走,1是陆地,2+是树,1和1往上都能走,从0,0开始,但是要从低树走到高树,计算步数。举个例子,先从0,0走到最低的树,即<0,1>高为2的树,再走到下一个最低的树,计算步数,如果某棵树走不到则返回-1,反...

golang力扣leetcode 337.打家劫舍III

337.打家劫舍III337.打家劫舍III题解题目:给一个二叉树,相邻两个节点不能同时选,问能选的节点累加最大的值思路:暴力递归 - 最优子结构1.既然相邻不能选,那么 method1:选当前节点以及4个孙子节点 method2:不选当前节点,选两个孩子节点 返回max(method1, meth...

golang力扣leetcode 464.我能赢吗

464.我能赢吗464.我能赢吗题解题目:博弈,给定一个maxChoosableInteger和desiredTotal,两个人每次取1~maxChoosableInteger中的数字(不放回),取出的数字累加和超过desiredTotal游戏结束,两个人每次选择都是最优解,问先手的人赢还是后手的人...

golang力扣leetcode 691.贴纸拼词

691.贴纸拼词691.贴纸拼词题解题目:给你一个target字符串,再给你一个stickers字符串数组,数组元素可用重复拿取,问最少需要几个数组元素,才能用数组元素中出现过的字母,拼凑出target字符串。思路:1.既然可用重复拿取,说明只遍历一次数组是不够的 2.第一次用元素拼凑,可能不够,还...

golang力扣leetcode 668.乘法表中第k小的数

golang力扣leetcode 668.乘法表中第k小的数

668.乘法表中第k小的数668.乘法表中第k小的数题解题目:给定一张n * m的乘法表,问从小到大第k个数是多少思路:二分答案,将题目转换为小于等于x的数有几个,二分出小于等于x的数有k个时,x就是答案那么现在的问题就是求小于等于x的数有几个,然后不断二分x如何求小于等于x的数呢?以x=4为例,第...

golang力扣leetcode 462.最少移动次数使数组元素相等II

462.最少移动次数使数组元素相等II462.最少移动次数使数组元素相等II题解题目:让所有数组元素变成相等的数字,一次只能加一或减一,问需要几次思路:需要找到一个数字,计算元素到该数字的距离即可如何求这个数字呢?设x在区间[a0,a1,a2,a3,a4,…,an]外,对于a0和an来说,ans=a...

golang力扣leetcode 面试题01.05.一次编辑

面试题01.05.一次编辑面试题01.05.一次编辑题解题目:给定两个字符串,只能进行一次[增加一个字符,删除一个字符,修改一个字符],问能否在一次编辑,或者,零次编辑后,两个字符串相等思路:1.对于零次的情况:两个字符串本来就相等 2.如果两个字符串长度差为2,至少需要两次,直接返回false即可...

golang力扣leetcode 287.寻找重复数

287.寻找重复数287.寻找重复数题解题目:给一个数组,元素大小1~n,其中有一个数出现两次,要求用O(1)的空间复杂度求出这个出现两次的元素,并且不能修改原数组思路:快慢指针1.快慢指针起始位置可以在0,0 也可以在0,1,总之fast总会和slow相遇,但是我比较喜欢写在0,0,不必纠结 2....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。