LeetCode刷题之旅
Jeloys
这个作者很懒,什么都没留下…
展开
-
LeetCode刷题之旅
非计算机科班出身刷LeetCode还是有些难度,从这章开始,准备开始我的LeetCode的刷题之旅。希望自己能够坚持下去。安利一个造福人类的博主。Grandyang再安利这个博主做的一个App,LeetCode Meet Me,每道题还会链接到该博主的解释。...原创 2019-01-02 14:00:48 · 177 阅读 · 0 评论 -
栈和队列题目合集
复习栈的知识,然后做了一下精选的几道LeetCode题目:20,155,232,844,224,682,496栈的知识总结什么是栈?1.后进者先出,先进者后出,这就是典型的“栈”结构。2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。什么时候需要用到栈?当某个数据集合只涉及在某端插入和删除数据,且满足后进者先出,先进者后出的操作特性时,我们...原创 2019-03-19 12:46:33 · 1309 阅读 · 0 评论 -
单链表的五类题目合集
复习一下链表的知识,精选了5个常见的链表操作,听说只要把这几个操作写熟练了,就再也不怕写链表代码了。话不多说,开始写吧。单链表反转 链表中环的检测 两个有序的链表合并 删除链表倒数第n个结点 求链表的中间结点单链表反转206.反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4-&...原创 2019-03-17 20:48:37 · 303 阅读 · 0 评论 -
【LeetCode刷题之旅】滑动窗口例题
#209 Minimum Size Subarray Sum给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例: 输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成...原创 2019-01-21 19:04:43 · 672 阅读 · 0 评论 -
【LeetCode刷题之旅】005 Longest Palindromic Substring 【Python】
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.输入"cbbd"预期结果"bb"...转载 2019-01-15 11:37:03 · 154 阅读 · 0 评论 -
【LeetCode刷题之旅】Longest Substring Without Repeating Characters【Python】
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 (连续的)的长度。class Solution: def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ length_this = 0 ...原创 2019-01-15 09:25:24 · 216 阅读 · 0 评论 -
【LeetCode刷题之旅】002 Add Two Numbers【C++】
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...原创 2019-01-14 22:12:10 · 170 阅读 · 0 评论 -
【LeetCode刷题之旅】001 Two Sum【Python】
拖了好久,终于开始刷LeetCode了,记录一下我的爬坑之旅。 Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solu...原创 2019-01-14 20:46:10 · 144 阅读 · 0 评论 -
【LeetCode刷题之旅】75 Sort Colors【C++】
听老师讲课,把所述的两种方法记录下来。第一种是暴力解法:class Solution {public: //时间复杂度:O(n) //空间复杂度:O(k),k为元素的取值范围 void sortColors(vector<int>& nums) { int count[3] = {0}; //存放0,1,2三个元素的频率的数...原创 2019-01-17 20:55:47 · 161 阅读 · 0 评论 -
【LeetCode刷题之旅】80 删除排序数组中的重复项 II【C++】
这道题和#283有异曲同工之妙,利用双指针,如果count超过1那么就将后面的值往前挪一个位置。此题标的是中等难度,其实应该算简单难度,因为给的已经是排序好的数组,所以只需要比对前后两个数是否相等即可。给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下...原创 2019-01-17 20:17:49 · 178 阅读 · 0 评论 -
【LeetCode刷题之旅】283 Move Zeroes【C++】
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 思路1:开辟一个新的空间 vector<int> nonZeroElements存放数组中所有非零的值,然后将其赋值给nums向...原创 2019-01-17 18:53:02 · 197 阅读 · 0 评论 -
【LeetCode刷题之旅】对撞指针例题
#167 Two Sum II - Input array is sorted给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用...原创 2019-01-21 16:18:45 · 269 阅读 · 0 评论