![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode刷题记录
西安真的好热
没啥正经事的博客记录
展开
-
Leetcode刷题:1. Two Sum
题目: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 solution, and you may not use the same...原创 2018-02-26 23:33:26 · 177 阅读 · 0 评论 -
LeetCode刷题总结:(7)动态规划相关问题
如果一个问题具有重叠最优子结构的性质,那么一般就是可以用动态规划来解决的。其实动态规划相关的问题不是写动态规划的实现代码,而是抽象出一个符合动态规划问题的结构,这里会涉及到具体的状态定义,以及状态之间的转移关系,这个抽象的过程是很难的,也是最灵活的! 70. 爬楼梯假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?...原创 2018-08-02 11:53:50 · 1646 阅读 · 0 评论 -
LeetCode刷题总结:(6)递归和回溯的相关问题
递归和回溯的相同点都是自顶向下的,但是递归更注重的是递归回来的状态,而回溯更关注的是通过回溯遍历到所有的解空间的状态,会根据具体的问题场景对所有解空间做相应的标记或者说处理。 17. 电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["...原创 2018-08-02 11:39:03 · 534 阅读 · 0 评论 -
LeetCode刷题总结:(5)二叉树和递归的相关问题
一般关于二叉树的问题第一反应就是能不能用递归的方法做,因为二叉树的定义本身就是完美的递归,多以关于二叉树的问题一般都是先考虑能不能抽象出一个递归的结构这样去做。 104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,...原创 2018-08-02 11:22:13 · 1129 阅读 · 1 评论 -
LeetCode刷题总结:(4)栈和队列的相关问题
关于栈的应用一般是找最近对应关系这一类的问题,关于队列的问题一般是作为广度优先搜索的辅助数据结构这样。总之,一般来说,关于栈和队列的应用一般都是作为用于解决其他问题的一种辅助数据结构这样。 20. 有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序...原创 2018-08-02 11:05:25 · 1278 阅读 · 0 评论 -
LeetCode刷题总结:(3)链表相关问题
与链表相关的问题一般都是通过维护多个节点指针,在链表中穿针引线来解决的。另外一个常用的技巧是创建一个dummy指针,使之链接到root。 83. 删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->...原创 2018-08-02 10:50:09 · 558 阅读 · 0 评论 -
LeetCode刷题总结:(2)查找表相关问题
1. 两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]// 思路: 利用查找表,一次遍历,寻找当前遍历的索引对应的targe...原创 2018-08-02 09:44:33 · 308 阅读 · 0 评论 -
LeetCode刷题总结:(1)数组相关问题
写在最前面:分析完成一道题,最重要的是完整的捋清楚解决问题的方法逻辑,而捋清一道题的小技巧我觉得是可以画出能够表达逻辑的图或表,清晰的呈现在自己的草稿纸上,之后实现代码的时候就会变得很轻松!!! 刷了近100道题后发现其实leetcode中类型最多的还是数组相关的问题。数组相关问题好多是可以通过维护相应的索引来解决的。总之在数组问题中对索引的意义,维护是很重要的。3. 无重复字符的最长...原创 2018-08-01 23:46:14 · 8009 阅读 · 2 评论 -
LeetCode刷题:6. ZigZag Conversion
题目:The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L S I I...原创 2018-03-05 11:02:34 · 194 阅读 · 0 评论 -
LeetCode刷题:5. Longest Palindromic Substring
题目:Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output: "bab"Note: "aba" is also a valid answer. Exampl...原创 2018-02-28 18:18:24 · 130 阅读 · 0 评论 -
LeetCode刷题:4. Median of Two Sorted Arrays
题目:There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Example 1:nums1 = [1, 3]nu...原创 2018-02-27 23:54:13 · 142 阅读 · 0 评论 -
Leetcode刷题:3. Longest Substring Without Repeating Characters
题目:Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", with th...原创 2018-02-27 19:08:53 · 139 阅读 · 0 评论 -
Leetcode刷题:2. Add Two Numbers
题目:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and retur...原创 2018-02-27 16:06:38 · 178 阅读 · 0 评论 -
LeetCode刷题总结:(8)贪心相关问题
贪心算法需要我们针对问题场景设计出合理的贪心选择,贪心的实现代码一般都是不难的,真正难的是如何证明我们的贪心算法是正确的!因为一个贪心算法不一定能解出最优解,往往是次优解,只有证明了贪心算法是正确的,那么解才是最优解。证明贪心算法正确性的方法一般用数学归纳法和反证法。 455. 分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i...原创 2018-08-02 12:01:11 · 533 阅读 · 0 评论