![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
ForeverSen
为什么
怎么解决
如何避免
展开
-
算法中的双指针思想及常见应用
算法中的双指针思想及常见应用最近在刷leetcode,碰到了许多双指针类的题目,题目是根据githubCyC大佬,在这里总结下:所谓双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行扫描,从而达到相应的目的。换言之,双指针法充分使用了数组有序这一特征,从而在某些情况下能够简化一些运算。(注:这里的指针,并非专指c中指针的概念,而是指索引...原创 2019-03-10 11:42:10 · 650 阅读 · 2 评论 -
LeetCode 中有关位运算题目
这阶段刷完了 LeetCode 上有关位运算的题目,感觉位运算还是挺难,很难get到点,有空还是要去加强学习,要掌握 与&、异或^、或|、非~,还有算术左移、算术右移、无符号右移 。还有 Java 中 Integer 类中常见位运算的方法(三个)。需要注意以下几点:1. 与&、异或^、或|、非~x ^ 1s = ~xx & 0s = 0 x & 1s =...原创 2019-07-26 22:29:34 · 237 阅读 · 0 评论 -
LeetCode中有关哈希表问题
对LeetCode中几道关于哈希表问题进行总结:1.两数之和题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] ...原创 2019-06-15 15:21:49 · 835 阅读 · 0 评论 -
LeetCode中栈和队列问题
开始对数据结构中栈和队列相关题目进行刷题~232. 用栈实现队列题目描述:使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2)...原创 2019-06-12 21:33:42 · 318 阅读 · 0 评论 -
贪心算法及LeetCode中相关问题
开始学习贪心算法思想,并在LeetCode上进行相关tag的刷题原创 2019-05-31 13:22:45 · 1451 阅读 · 3 评论 -
LeetCode中的链表问题
开始对LeetCode中链表相关问题进行刷题:206. Reverse Linked List题目描述:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解题思路:1 → 2 → 3 → 4→ 5→ Ø,改成 Ø ← 1 ← 2 ← 3←4←5定义一个前结...原创 2019-05-12 00:04:53 · 586 阅读 · 0 评论 -
LeetCode中数学问题
素数:204. Count Primes题目描述:统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。解题思路:本题要使用埃拉托斯特尼筛法,这样运行不会超时。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。给出要筛数值的范围n,找出以内的素数。先用...原创 2019-05-01 16:58:42 · 619 阅读 · 0 评论 -
LeetCode中典型的DFS问题
深度优先遍历DFS:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。 若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。DFS应用:使用 DFS 对一个图进行遍历时,能够遍历到的节点都是从初始节点可达的,D...原创 2019-04-15 13:05:47 · 3954 阅读 · 0 评论 -
BFS问题及相关应用
LeetCode279. Perfect Square(Medium)题目描述:给定一个正整数n,求和为n的最小全平方数(例如,1,4,9,16,…)。Input: n = 12Output: 3Explanation: 12 = 4 + 4 + 4.Input: n = 13Output: 2Explanation: 13 = 4 + 9.解题思路:可以将每个整数看成图中的...原创 2019-04-13 13:46:25 · 446 阅读 · 0 评论 -
LeetCode中经典的排序问题
最近看完算法4第二章排序后,对LeetCode中的排序题目作了以下总结:堆排序:LeetCode215: 题目描述:找到未排序数组中的第k个最大元素。请注意,它是排序顺序中的第k个最大元素,而不是第k个不同元素。Input: [3,2,1,5,6,4] and k = 2 Output: 5Input: [3,2,3,1,2,4,5,5,6] ...原创 2019-04-03 13:28:50 · 902 阅读 · 0 评论 -
拓扑排序
拓扑排序207. Course Schedule题目描述:共有n门课程你必须参加,标签从0到n-1。有些课程可能有先决条件,例如,要参加课程0,您必须首先参加课程1,这表示为一对:[0,1]考虑到课程总数和先决条件对列表,您是否可以完成所有课程?可以返回true,不可以返回falseInput: 2, [[1,0]] Output: trueInput: 2, [[1,0],[0...原创 2019-04-08 13:34:09 · 153 阅读 · 0 评论 -
二分查找
最近在看算法第四版,其中有说到二分搜索,也就是二分查找,也在leetcode上刷题,觉得也算是一种比较厉害的算法思想吧,总结下:定义二分查找又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。优缺点...原创 2019-04-01 09:27:27 · 1011 阅读 · 0 评论 -
求解数组中第k个最大元素
今天在刷leetcode215题,碰到求解TopK Elements问题,一共有三种方法,总结一下:题目描述:找到未排序数组中的第k个最大元素。请注意,它是排序顺序中的第k个最大元素,而不是第k个不同元素。Input: [3,2,1,5,6,4] and k = 2 Output: 5Input: [3,2,3,1,2,4,5,5,6] and k = 4 Output:...原创 2019-03-17 13:50:10 · 265 阅读 · 0 评论 -
LeetCode 中有关递归的题目
递归,其实就是在运行的过程中调用自己。构成递归需具备的条件:子问题须与原始问题为同样的事,且更为简单;不能无限制地调用本身,须有个出口,化简为非递归状况处理。112. 路径总和题目描述:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 2...原创 2019-07-31 22:42:37 · 704 阅读 · 0 评论