- 博客(105)
- 收藏
- 关注
原创 977.有序数组的平方
将双指针l、r分别从头和尾向中间移动(简化了很多,不用再处理边界条件):基本相同写法(将双指针从中将最小值的下表,向两边移动)组成的新数组,要求也按。
2024-08-31 12:01:03 264
原创 139.单词拆分
不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。如果可以利用字典中出现的一个或多个单词拼接出。排序问题:有顺序,先遍历背包容量,再遍历数组。
2024-08-29 15:50:13 189
原创 279.完全平方数
每个容量(上图中的行数据)取后面的最小值。对应代码:dp[j] = Math.min(dp[j], dp[j - nums[i]] + 1);是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。感想:dp不知道先遍历容量还是数组的话,就都尝试一下。的完全平方数的最少数量。
2024-08-28 10:08:23 278
原创 518.零钱兑换Ⅱ
请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回。题目数据保证结果符合 32 位带符号整数。表示不同面额的硬币,另给一个整数。假设每一种面额的硬币有无限个。
2024-08-26 18:02:22 218
原创 1049.最后一块石头的重量Ⅱ
然后将它们一起粉碎。假设石头的重量分别为。如果没有石头剩下,就返回。:一维dp数组(倒序遍历)有一堆石头,用整数数组。
2024-08-24 23:47:43 139
原创 343.整数拆分
dp算法,取dp[i] = j * Math.max(i - j, dp[i - j]);:数学推导,将n分为3a+b,乘积最大。),并使这些整数的乘积最大化。你可以获得的最大乘积。
2024-08-19 17:44:35 226
原创 63.不同路径Ⅱ
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格的左上角 (起始点在下图中标记为 “Start” )。网格中的障碍物和空位置分别用。
2024-08-17 11:50:09 219
原创 62.不同路径
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。网格的左上角 (起始点在下图中标记为 “Start” )。一共m+n-2中选择,从其中选取m-1中,共多少种可能?问总共有多少条不同的路径?复杂度:m*n m*n。
2024-08-17 10:14:27 171
原创 860.柠檬水找零
这里对于20元找零,优先找10+5的而不是5+5+5的,5元钱找零更加万能,隐藏贪心。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付。如果你能给每位顾客正确找零,返回。顾客排队购买你的产品,(按账单。在柠檬水摊上,每一杯柠檬水的售价为。每位顾客只买一杯柠檬水,然后向你付。注意,一开始你手头没有任何零钱。支付的顺序)一次购买一杯。
2024-08-14 20:26:54 442
原创 134.加油站
如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回。rest数组,一旦【1】curSum小于0,就开始【2】,依次向后。你从其中的一个加油站出发,开始时油箱为空。你有一辆油箱容量无限的的汽车,从第。个加油站需要消耗汽油。
2024-08-12 23:50:32 126
原创 1005.k次取反后最大化的数组和
代码就是这样,一步一步地改进、精简,逻辑美丽,风格赏心悦目。以这种方式修改数组后,返回数组。可以多次选择同一个下标。复杂度:nlogn、1。
2024-08-11 22:26:29 218
原创 55.跳跃游戏
数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。复杂度:n * n 1。给你一个非负整数数组。
2024-08-09 00:54:21 216
原创 53.最大子数组和
为什么都看到思路了,代码还是不好写出来?自己代码功底还是很弱很弱,自己瞪眼法debug(代码进度模拟)能力还很差,要借助idea的debug。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。是数组中的一个连续部分。:思路,及各种修改注释。
2024-08-08 21:19:56 175
原创 376.摆动序列
第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为。// sb的题,服了。
2024-08-08 01:15:42 181
原创 51.N皇后
/ 我是用List<Integer>,数字型,为了更好地判断合法,但还要将list使用双层for转化成"."和"Q"。如果直接用List<String>,字符型,和一个二维数组判断,就不用“转化”这个开销了。:通过后,修改,好看点。
2024-08-05 01:31:51 251
原创 39.组合总数
思路难点:想到传入这个idx参数,否则会出现res结果中出现重复的(顺序不同)list结果。如果至少一个数字的被选数量不同,则两种组合是不同的。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。:默写一遍,加深印象。
2024-08-02 22:38:26 190
原创 216.组合总和
该列表不能包含相同的组合两次,组合可以以任何顺序返回。使用mask二进制表示1~9中哪些数字被使用,再进行判断。所有可能的有效组合的列表。
2024-08-02 00:06:53 153
原创 31.下一个排序
就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。复杂度分析:一个for循环找到数字A,再一个for循环找到数字C,反转reverse 双指针。就是将其所有成员以序列或线性顺序排列。修改,只允许使用额外常数空间。
2024-07-29 02:39:15 229
原创 22.括号生成
代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且。和下标有关的使用字符数组,和添加删除字符使用StringBuffer。复杂度:n 2^(2n) n。
2024-07-28 01:25:24 151
原创 543.二叉树的直径
这条路径可能经过也可能不经过根节点。是指树中任意两个节点之间最长路径的。给你一棵二叉树的根节点,返回该树的。由它们之间边数表示。
2024-07-27 22:33:19 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人