随笔分类 - 渣渣的leetcode之路
艰难啊。。。。。
摘要:830. 较大分组的位置 --解题思路-- 方法一:双指针模式(未对结尾做处理) start--开始位置 end--结束位置 当end-start>=2时,将会[start,end]加入列表中 注意:到最后所有字符串读取完成后,还要再次判断: 当end-start>=2时,[start,end]加入
阅读全文
摘要:49. 字母异位词分组 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 --解题思路-- 由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,故可以将排序之后的字符串作为哈希表的键。 --解题代码-- pub
阅读全文
摘要:217. 存在重复元素 给定一个整数数组,判断是否存在重复元素。 如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 --解题思路-- 数组排序,判断相邻两个元素是否相同 使用Set集合,最后判断Set的大小和原数组的大小 --解题代码-- 1
阅读全文
摘要:376. 摆动序列 --解题思路-- 数组长度: 1.长度<=1时: 返回值:数组长度 2.长度>1时: up,down交替记录摆动情况(初始值=1) (1)当num[i]-num[i+1]>0时(下降趋势) down = up + 1; (2)当num[i]-num[i+1]<0时(上升趋势) u
阅读全文
摘要:219. 存在重复元素 II --解题思路-- 思路一:双指针遍历数组:固定一个指针i,移动另一个指针j,寻找满足情况的两个数 思路二:构建HashMap --解题代码-- 思路一:双指针遍历数组 public boolean containsNearbyDuplicate(int[] nums,
阅读全文
摘要:860. 柠檬水找零 --解题思路-- 钱币种类:5美元、10美元、20美元 购买行为存在以下情况: 5美元来一杯 10美元来一杯,找零5美元 20美元来一杯,找零存在两种情况: 找零10美元+5美元 找零5美元*3 注:每次找零必须保证按照从金额最大的开始找零,例如,20美元来一杯的时候,找零时一
阅读全文
摘要:1342. 将数字变成 0 的操作次数 --解题代码-- 一、 public int numberOfSteps1(int num) { //记录最终结果 int count = 0; while (num != 0) { //1.奇数:-1,次数+1 //判断数字是否为0 if (num % 2
阅读全文
摘要:1678. 设计 Goal 解析器 --解决方法-- “无脑”调用函数解决 public String interpret(String command) { return command.replace("()","o").replace("(al)","al"); } --写在后面的话-- Ja
阅读全文
摘要:861. 翻转矩阵后的得分 --写在前面的话-- 看到题目之后是比较懵的,感觉是要使用贪心算法,然后就大体上演算了一下,发现遵循三个步骤就可以实现: (1)将数组每一行第一个元素的值转换为1 > 对行进行操作 (2)判断转换后的数组中每一列元素的情况: 若1的数量少于0的数量 --> 进行转换 否则
阅读全文
摘要:问题描述: 深有同感: (欠下的债终归是要还的,今天不还,明天还~~~) 解题思路: (1)第一列和主对角线上的元素=1 ( i==0 || j==i ) (2)剩余的元素求值公式 c[i][j] = c[i-1][j] + c[i-1][j-1] public List<List<Integer>
阅读全文
摘要:1)使用this区分同名变量 this.属性名称 指的是访问类中的成员变量,用来区分成员变量和局部变量(重名问题) class Person{ private String name; private int age; private String gender; Person(String nam
阅读全文
摘要:1.1 定义 厄拉多塞到底是怎样筛选素数的呢?他造了一张1到50的素数表,首先写上1到50的所有自然数,然后先划去1,把2留下,再划去其他所有2的倍数,把3留下。再划去其他所有3的倍数,把5留下。又划去其他所有5的倍数……依此类推,可以得到50以内的所有素数。这就是著名的“厄拉多塞筛法”。 1.2计
阅读全文
摘要:解题思路:(贪心算法,是吧?) 1.对边长数组进行排序 2.从最大值开始依次往前开始推边长:(贪长边) 2.1 直到遇到满足三角形条件的三条边,返回周长 2.2 循环结束条件:长度<3, 返回0 public int largestPerimeter(int[] A) { Arrays.sort(A
阅读全文
摘要:【写在前面的话】 最近学习不在状态,又遇上期末考试,每年到了这个时候都是最艰难的时候,唉。。。。。。之前就了解过 异或操作 但一直没有形成体系,今天做题又遇到了,想着自己整理一下吧。 【Part 1】异或操作 1.何为异或操作 异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对
阅读全文
摘要:已知二维数组 num[h][k], 实现目标: 1.按照 h降序,k升序 进行排序 (PS: h降序,当h相同的情况下,按照k升序进行排列) 原数组:[ [7,0], [4,4], [7,1], [5,0], [6,1], [5,2] ] 排序后的结果: [ [7,0], [7,1], [6,1],
阅读全文
摘要:给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组: 目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步,直到在 nums 和 index
阅读全文
摘要:给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。 让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组: A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < ... A[i-1] <
阅读全文
摘要:463. 岛屿的周长 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿
阅读全文
摘要:给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ...,
阅读全文
摘要:你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事。这些片段可能有所重叠,也可能长度不一。 视频片段 clips[i] 都用区间进行表示:开始于 clips[i][0] 并于 clips[i][1] 结束。我们甚至可以对这些片段自由地再剪辑,例如片段 [0, 7] 可以剪切成
阅读全文

浙公网安备 33010602011771号