摘要: 58. 最后一个单词的长度 题目链接 反向遍历 从字符串结尾处开始遍历,查找最后一个单词 注意可能会有空格后缀,要先排除 class Solution { public int lengthOfLastWord(String s) { int ans = 0, i = s.length() - 1; 阅读全文
posted @ 2021-03-17 13:11 一天到晚睡觉的鱼 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 57. 插入区间 题目链接 枚举 枚举每个区间,判断该区间与需要插入的区间是否相交 若不相交,且比需要插入的区间小,那么直接放入List中 若不相交,但比需要插入的区间大,那么先把区间插入,再把这个区间放入List 若相交,则把这个区间和需要插入的区间合并,继续枚举 class Solution { 阅读全文
posted @ 2021-03-16 15:14 一天到晚睡觉的鱼 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 56. 合并区间 题目链接 自定义比较器排序 按照左端点排序,若与前一个区间不重叠,则加入list 若与前一个区间重叠,则用右端点去更新前一个区间的右端点 注意: 自定义比较器需要传入Comparator对象,并且重写compare方法,第一个参数比第二个参数大时,返回正数 List转数组时,需要传 阅读全文
posted @ 2021-03-15 09:25 一天到晚睡觉的鱼 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 55. 跳跃游戏 题目链接 动态规划 使用reachable数组表示这个点能否到达 枚举每个点,若这个点能到达,就从这个点起跳,更新后面的点 每次更新的点可以从上一次最后更新的点开始 class Solution { public boolean canJump(int[] nums) { int 阅读全文
posted @ 2021-03-14 18:57 一天到晚睡觉的鱼 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 利用Git+Github进行团队协作开发 Github上新键项目,开发demo,在master分支上打tag,提交到远端 从新键develop分支,在develop分支进行开发,并提交到远端 git branch develop master # 从master分支上新建develop分支 git 阅读全文
posted @ 2021-03-14 18:46 一天到晚睡觉的鱼 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 54. 螺旋矩阵 题目链接 螺旋枚举 使用变量: 使用len[]记录两个维度的长度 使用marked[][]记录已经枚举过的位置 使用pos[]记录当前枚举到的位置 delta表示下一步的偏移量,i表示下一步要偏移的维度,cnt表示已经枚举过的数量 具体算法: 每次枚举,先进行偏移,若超出矩阵范围, 阅读全文
posted @ 2021-03-13 16:02 一天到晚睡觉的鱼 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 53. 最大子序和 题目链接 动态规划 以i结尾的最大子序和等于Max(以i-1为结尾的最大子序和+nums[i],nums[i]),也就是要不要前缀的问题 class Solution { public int maxSubArray(int[] nums) { int sum = nums[0] 阅读全文
posted @ 2021-03-11 10:36 一天到晚睡觉的鱼 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 52. N皇后II 题目链接 dfs 方法与前面一题相同,就是无需保存和打印棋盘,只需要统计解的数量即可 class Solution { int ans = 0; public int totalNQueens(int n) { dfs(n, 0, new boolean[n], new bool 阅读全文
posted @ 2021-03-10 14:45 一天到晚睡觉的鱼 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 51. N皇后 题目链接 dfs 枚举每一行皇后摆放的列 使用boolean类型的数组来标记已摆放皇后所在的列、主对角线、副对角线 主对角线为行+列,副对角线为行-列 class Solution { List<List<String>> ans = new ArrayList<>(); publi 阅读全文
posted @ 2021-03-09 16:18 一天到晚睡觉的鱼 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 50. Pow(x, n) 题目链接 快速幂 当n为偶数时,xn = (x * x) n/2 ;当n为奇数时,xn = (x * x) n/2 * x 通过循环迭代,直至n为0 注意以下两点: 题目中n可能为负数,需要先取绝对值运算,最后结果再取倒数 对于Java中的Math.abs(int a)方 阅读全文
posted @ 2021-03-08 15:04 一天到晚睡觉的鱼 阅读(50) 评论(0) 推荐(0) 编辑