力扣
夜雨@声烦
逆风而行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
力扣93. 复原IP地址 (java回溯+减枝)
力扣93:复原IP地址 回溯+减枝 注解清晰~~ class Solution { List<String> list = new ArrayList<String>(); public List<String> restoreIpAddresses(String s) { //x.x.x.x ip地址最少为4位,最多为12...原创 2020-04-07 19:20:26 · 439 阅读 · 0 评论 -
力扣69. x 的平方根(java二分法)
力扣69. x 的平方根(java二分法) 思路: 只要是 >=4 的数,平方根肯定小于等于它的一半,根据这个思路,我们可以选择二分法。 public int mySqrt(int x) { //排除影响条件 if(x == 0){ return 0; } if(x < 4){ ...原创 2020-04-04 23:32:36 · 468 阅读 · 0 评论 -
力扣 55. 跳跃游戏 java通俗易懂
力扣 55:跳跃游戏 题目说非负整形数组,那么显而易见每个数都大于等于 0,那数组只会存在两种情况: 1.包含数字 “0” 的数组。 2.不包含数字 “0”的数组。 对于情景1,我们需要判断它能不能到达数组末尾,而对于情景2我们不需要判断,因为它肯定能到达数组最末尾,哪怕每次只前进1。 所以我们需要处理情景1。 而对于含0的数组,我们只需要 判断0的位置前面的数组是否能够越过0这个位置 即可。 ...原创 2020-03-30 21:38:55 · 366 阅读 · 0 评论 -
力扣120. 三角形最小路径和(java动态规划)
三角形最小路径和 这道题第一眼看可能就会想到使用动态规划来解答,定义一个dp[n][n]的数组,然后填写数组,若产生考虑两个值的情况——如图中的 5可以有两条路径到达,则选取较小值,代码难度不高。 但仔细一看,发现最好只是用 O[n] 的额外空间,其实,我们只需定义一个一维数组就能解决问题。 如图,我们只需定义一个 一维数组dp[n] 利用前一行,来更新当前行数的距离: class Sol...原创 2020-03-18 00:56:32 · 416 阅读 · 0 评论 -
力扣 216. 组合总和 III java实现
组合总和 III 这道题看了之后第一反应是使用 回溯+减枝,其实遇到这种类型的题,初看可能感觉无从下手,但是只要耐心画一下它的递归树就会很清晰: 由于题目要求list中不允许出现重复数字,所以我们需要传递一个下标,防止元素重复选取,代码如下: class Solution { List<List<Integer>> list = new ArrayList<...原创 2020-03-12 20:10:27 · 433 阅读 · 0 评论 -
力扣 131:分割回文串 Java实现
分割回文串 一看到这道题,我的第一反应是递归,因为这道题每下一步都可以分为若干个子问题,如图: 根据这棵递归树,写出如下代码: class Solution { List<List<String>> list = new ArrayList<List<String>>(); public List<List<Strin...原创 2020-03-08 19:27:04 · 347 阅读 · 0 评论 -
力扣: 77 组合 java实现
题: 本题使用回溯法 class Solution { List<List<Integer>> list = new ArrayList<List<Integer>>(); public List<List<Integer>> combine(int n, int k) { if( n =...原创 2020-02-26 19:53:36 · 323 阅读 · 0 评论
分享