算法学习
尛騩
这个作者很懒,什么都没留下…
展开
-
力扣刷题_搜索二维矩阵 II
题目链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/思路:题目明确了从上到下与从左到右是递增的,比较容易联想到是用二分法将每一行(或每一列)做了单独的一唯数组,对所有行(或所有列)进行二分查找,能找到就是true怎么判断用行还是用列来做一唯数据:看行少还是列哩,想想最极端的情况:int[1][999999],我们肯定不会用列来做二分查找的代码(写得不好轻喷,有改进的地方也请大佬们指教)public class Sol原创 2021-10-26 22:24:34 · 136 阅读 · 0 评论 -
算法学习---跳跃游戏(深度优先&动态规划)
今天闲来没事在力扣上刷算法题,跟一道题就杠上了,把我气得,觉得有必要记录一下。其实这一道题,一看就是动态规划或递归来做,不过一开始也没仔细去想在这个数据中的递推公式,加上递归写得比较多,自认为比较熟练 ,先用递归来做深度优先算法(超时)不一会功夫我就写下了如下代码,麻溜地写出了代码,然后麻溜地超时了class Solution{ public boolean canJump(int[] nums){ return gotoEnd(0,nums); } pu原创 2020-07-12 22:09:49 · 353 阅读 · 0 评论 -
算法学习---反转链表的两种方法(栈&递归)
内容目录题目描述解法一:栈解法二:递归题目描述给出一个链表,返回链表的反转,例如输入:1->2->3->4->5->null输出:5->4->3->2->1->null解法一:栈这个做法是比较先想到的,栈的先进后出的特点能很好地帮助我们实现反转,步骤也比较简单,就是空间复杂度是O(n),所以其实这种做法是不太好的先遍历一遍链表,把每个结点压入到栈里去,创建一个新的结点,把栈里的每一个元素弹出来,放到结点后面public Li原创 2020-06-30 23:16:47 · 611 阅读 · 0 评论