![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
samlee666
人活着快乐最重要啊
展开
-
007——字符串转整数(atoi)
//// Created by HINTS on 2018/11/29.//#include <iostream>#include <string>using namespace std;int myAtoi(string str){ int i = 0; int base = 0; while (isspace(str[i])){...原创 2018-11-29 21:26:27 · 104 阅读 · 0 评论 -
56_合并区间
题目给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。解法...原创 2019-01-17 20:55:22 · 119 阅读 · 0 评论 -
001_twoSum
题目:Two Sum代码://// Created by HINTS on 2019/2/20.//#include <iostream>#include <vector>#include <unordered_map>using namespace std;//1.使用hashmap,以空间换时间/*vector<int> ...原创 2019-02-20 20:29:13 · 104 阅读 · 0 评论 -
003-寻找两个有序数组的中位数
题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 +...原创 2019-03-12 20:53:18 · 108 阅读 · 0 评论 -
16. 最接近的三数之和
题目 16. 最接近的三数之和解题:Python代码class Solution(object): def threeSumClosest(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int """ ...原创 2019-03-30 21:54:06 · 101 阅读 · 0 评论 -
19. 删除链表的倒数第N个节点
题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?代码实现class ListNode: def __init__(s...原创 2019-04-23 19:23:59 · 138 阅读 · 0 评论 -
栈的应用之实现简单的计算器
栈的应用之实现简单的计算器步骤1:将前缀表达式转换为后缀表达式步骤2:计算后缀表达式//// Created by lenovo on 2019/4/24.////栈的应用,简单计算器/** * 步骤1:中缀表达式转换为后缀表达式 * 步骤2:计算后缀表达式 */#include <iostream>#include <stack>#include...原创 2019-04-24 19:31:36 · 410 阅读 · 0 评论 -
169-求众数
class Solution1: #1.暴力求解 def majorityElement(self, nums) -> int: ''' :param nums: List[int] :return: int ''' Max = 0 res = nums[0] f...原创 2019-05-08 20:28:09 · 162 阅读 · 0 评论 -
402-removeKdigits
'''使用一个栈作为辅助,遍历数字字符串,当当前的字符比栈最后的字符小的时候,说明要把栈的最后的这个字符删除掉。为什么呢?你想,把栈最后的字符删除掉,然后用现在的字符进行替换,是不是数字比以前的那种情况更小了?所以同样的道理,做一个while循环!这个很重要,可是我没有想到。在每一个数字处理的时候,都要做一个循环,使得栈里面最后的数字比当前数字大的都弹出去。最后,如果K还没用完,那要删除哪里...原创 2019-05-21 16:37:47 · 257 阅读 · 0 评论 -
关于递归
转载自:递归转载 2019-05-21 20:16:19 · 150 阅读 · 0 评论 -
动态规划
动态规划理解转载 2019-05-22 18:36:16 · 167 阅读 · 0 评论 -
动态规划实践
leetcode-70 : climbing stairsclass Solution3: ''' 分析:一次走一阶,也可以一次走两阶。 到第n阶的总总走法数 = 到第n-1阶的走法数 + 到第n - 2 阶的总走法数。 ''' def climbStairs(self, n): if n == 0 or n == 1 o...原创 2019-05-23 18:29:15 · 195 阅读 · 0 评论 -
131分割回文串
class Solution: # 回溯 res = [] tmp = [] def isPalindrome(self, s: str): # 判断是否是回文串 return s == s[::-1] def dfs(self, s: str): ''' :param s: :para...原创 2019-05-30 20:48:39 · 154 阅读 · 0 评论 -
46-permutation
1. 思路:使用回溯算法2. 转换成树形问题3. 4. 代码class Solution: # 回溯算法 res = list() # 保存结果 used = [] def generatePermutation(self, nums: list, index: int, p: list): if index == len(nums):...原创 2019-06-03 21:18:59 · 202 阅读 · 0 评论 -
002_两数相加
题目You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a l...原创 2019-01-17 20:54:52 · 126 阅读 · 0 评论 -
206-反转链表
反转链表反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?我的思路1.使用迭代,递归掌握不太好。代码//// Created by HINTS on 2019/1/10.//#...原创 2019-01-10 19:50:36 · 112 阅读 · 0 评论 -
字符串的排列
题目给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).示例2:输入: s1= “ab” s2 = “eidboaoo”输出: False注意:输入的字符串只包含...原创 2018-12-04 21:45:34 · 153 阅读 · 0 评论 -
字符串相乘
字符串相乘题目给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。num1 和 num...原创 2018-12-05 21:33:36 · 142 阅读 · 0 评论 -
最长公共前缀
题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:原创 2018-12-03 20:58:59 · 118 阅读 · 0 评论 -
215-数组中的第K个最大元素
题目数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。我的思路...原创 2018-12-19 16:09:25 · 202 阅读 · 0 评论 -
翻转字符串里的单词
题目给定一个字符串,逐个翻转字符串中的每个单词。示例:输入: “the sky is blue”,输出: “blue is sky the”.说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。进阶: 请选用C语言的用户尝试使用 O(1) 空间复杂度的原地解法。解决方...原创 2018-12-06 18:37:45 · 156 阅读 · 0 评论 -
最长连续序列
题目最长连续序列给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。我的思路1、快速排序,遍历数组,使用计数器进行计数。注意:数组中的重复数字2、参考博客Grandyang,使用set。代码//// Cre...原创 2018-12-20 18:44:43 · 195 阅读 · 0 评论 -
三数之和
题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]我的思路理所当然,暴力解决是我...原创 2018-12-15 16:15:32 · 493 阅读 · 0 评论 -
岛屿的最大面积
题目给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1...原创 2018-12-15 16:20:03 · 325 阅读 · 0 评论 -
033-搜索旋转排序数组
题目假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2], t...原创 2018-12-17 19:17:29 · 133 阅读 · 0 评论 -
复原IP地址
题目给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: “25525511135”输出: [“255.255.11.135”, “255.255.111.35”]答案参考文章Leetcode All in one体会这道题理解起来不难,但对于我来说难在代码实现,特别是对于代码中递归的理解。于是,利用调试工具,对代码一行行进行调试,大概能明白代码完成了...原创 2018-12-11 19:20:22 · 1376 阅读 · 0 评论 -
674-最长连续递增序列
题目给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], 长度为1。注意:数组长度不会超过...原创 2018-12-18 19:24:16 · 138 阅读 · 0 评论 -
547_朋友圈
题目班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。...原创 2018-12-25 21:15:35 · 167 阅读 · 0 评论 -
21-合并两个有序链表
题目:合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:比较简单,比较大小,重新排序即可。代码://// Created by HINTS on 2019/1...原创 2019-01-10 19:10:16 · 128 阅读 · 0 评论 -
Leetcode__198_rob_强盗抢劫
题目描述:抢劫一排住户,但是不能抢邻近的住户,求最大抢劫量。解决思路和代码:package DP;import java.util.Arrays;/** * 强盗抢劫 * Find recursive relation * Recursive (top-down) * Recursive + memo (top-down) * Iterative + memo (botto...原创 2019-09-27 17:15:16 · 253 阅读 · 0 评论