
Leetcode刷题总结
个人向刷题总结。总结一下自认为有价值的题目和解法,也是逼自己对题目多思考,对解法多优化
Niu Yutao
非科班转码
展开
-
[Leetcode力扣 142] Linked List Cycle II
一、题目描述给一个链表,如果里面有环,输出环的起点,否则输出空指针二、解法一:判断节点对应的指针是否出现过这是最容易想到的解法,因为一个节点的地址可以唯一确定这个节点,只要沿着链表移动,看节点对应的地址是否出现过就行了,unordered_set比set查找快一点,所以可以用unordered_set。代码如下:/** * Definition for singly-linked list. * struct ListNode { * int val; * Li原创 2020-10-22 21:34:10 · 196 阅读 · 0 评论 -
[Leetcode力扣 25] Reverse Nodes in k-Group
一、题目描述k个一组反转链表。本题中链表至少有1个节点,k保证是有效的,即1<=k<=n。二、解法一:使用reverseList函数只考虑O(1)存储空间的办法的话,比较容易想到的就是,每数到k个节点就返回去反转这k个节点。不能边数边反转的原因是:不能确定后面还够不够k个节点,如果不够k个节点的话是不用反转的。假设已经有了反转k个节点的子函数,那么整个过程就可以这样处理:每k个一组的链表反转以后,要得到反转后的链表段的head和tail,设当前的head和tail分别为thi原创 2020-10-20 21:19:45 · 259 阅读 · 0 评论 -
[Leetcode力扣 206] Reverse Linked List
一、题目描述反转一个单链表。一道非常简单,非常基础的题,然而我某次面试竟然没写出来......所以在这里好好反思总结一下。二、迭代法以“1->2->3->4->5->nullptr”为例。如果链表没有节点或者只有1个节点,那么直接返回即可,不需要做操作,所以最小规模的情况要2个节点。从第2个节点开始迭代,每一次要将当前节点指向上一个head,并且要将head每次都更新为指向当前节点。除此之外还要注意,最开始的head指向的节点一定是尾节点,所以要把开始的原创 2020-10-19 22:20:15 · 239 阅读 · 0 评论 -
[Leetcode力扣 46] Permutations
一、题目描述题意:给定互不相同数字的数组,输出这个数组的全排列。这个问题应该比较基础,但是我没有独立想到任何一种方法。。。下面就是总结一下我见过的方法,并尝试尽量具体地理解。二、解法一:哈希表标记法这种方法可以按照字典序输出全排列,当然这个题目里的元素并不是有序的,但是这种方法输出的也是数组下标的字典序全排列。这种方法的搜索树如下,以[1,2,3]为例:可以看出这种搜索树是下面这种的变体:下面这种序列很容易生成,只需要DFS里面加上for循环就行了,并且只要每次for循环原创 2020-07-19 22:32:46 · 205 阅读 · 0 评论 -
[Leetcode力扣 452] Minimum Number of Arrows to Burst Balloons
一、题目描述给一堆二维闭区间表示气球,问最少用几支箭能把所有气球射爆二、解法:区间贪心原创 2020-10-10 20:41:37 · 180 阅读 · 0 评论 -
[Leetcode力扣 560] Subarray Sum Equals K
一、题目描述题意是给一个数组nums,和一个目标值k,让我们找到子数组内元素之和为k的子数组数量。值得注意的是,题目还给出了测试数据的规模,最大的数组规模为,而一般的OJ一秒内能承受的运算次数为,所以这个题时间复杂度为及以上的算法是肯定通过不了的,所以当题目给定输入规模时,我们就要对提出的算法的时间复杂度的级别心里有数了。二、解法一:暴力法最笨的暴力法解决问题的逻辑,其实就是把题意用计算机语言实现一遍罢了。题目让找所有子数组的和,那么我们就先用两层循环找到所有的子数组subarray{i,原创 2020-06-03 00:55:11 · 438 阅读 · 0 评论 -
[Leetcode力扣 973] K Closest Points to Origin
一、题目描述中等难度。给一堆二维点,要求输出距离原点(0, 0)最近的K个点二、解法一看到这道题,最容易想到的就是直接对整个vector从小到大排序,然后返回前K个元素即可,我们需要做的只是根据定义重写一个比较函数即可,时间复杂度为O(NlogN)。C++代码如下:class Solution {public: vector<vector<int>> kClosest(vector<vector<int>>& point原创 2020-05-30 22:14:36 · 290 阅读 · 0 评论