![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python_linctcode
zy0707ok
请联系邮箱qwqwqwzy@126.com
展开
-
leetcode 871. 最低加油次数
题目描述汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 station[i][1] 升汽油。假设汽车油箱的容量是无限的,其中最初有 startFuel 升燃料。它每行驶 1 英里就会用掉 1 升汽油。当汽车到达加油站时,它可能停下来加油,将所有...原创 2020-03-09 20:14:47 · 242 阅读 · 0 评论 -
leetcode 139. 单词拆分
leetcode 139. 单词拆分题目描述给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。举例:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 tru...原创 2020-03-02 10:18:18 · 124 阅读 · 0 评论 -
leetcode 面试题 02.05. 链表求和
leetcode 面试题 02.05. 链表求和题目描述给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。题目分析这个真没啥说的,基本功而已,注意下进位就完事了# Definition for singly-linked list.# class ListNode(object):# ...原创 2020-03-01 17:28:35 · 333 阅读 · 0 评论 -
leetcode 274 H指数
题目描述给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。h 指数的定义: “h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)至多有 h 篇论文分别被引用了至少 h 次。(其余的 N - h 篇论文每篇被引用次数不多于 h 次。)”说明: 如果 h 有多种可能的值,h 指数是其中...原创 2020-02-27 09:33:06 · 210 阅读 · 0 评论 -
leetcode 49. 字母异位词分组
字母异位词分组题目描述:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。解题思路:想法很简...原创 2019-05-26 13:27:56 · 115 阅读 · 0 评论 -
leetcode 51 n皇后
leetcode 51 n皇后题目描述:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。题目分析:首先看到题目需要我们找到皇后所有的可能摆放位置,那么肯定需要我们遍历所有可能的空间,同时在尝试的摆放方案不合理时直接退回上一步。直觉的方法就是递归,同时传递一个list来记录之前尝试的皇后的位置,每一次迭代时首先根据传递进来的list计算...原创 2019-03-02 18:49:54 · 147 阅读 · 0 评论 -
leetcode 403 青蛙过河
每天坚持刷题!!!leetcode 403 青蛙过河题目描述:一只青蛙想要过河。 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。给定石子的位置列表(用单元格序号升序表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。 开始时, 青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位...原创 2018-12-03 23:22:59 · 619 阅读 · 0 评论 -
无重复字符的最长子串
每天坚持刷题!!!无重复字符的最长子串题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。例子:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串题目分析:简单的方法是遍历整个字符串,因为是子串,所以追踪子串的起点和重点。遍历到...原创 2018-12-05 23:47:07 · 96 阅读 · 0 评论 -
leetcode 870 优势洗牌
每天坚持刷题!!!leetcode 870 优势洗牌题目描述: 给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。返回 A 的任意排列,使其相对于 B 的优势最大化。题目分析:这道题乍看起来似乎可以用动态规划,但是细细一想这道题是无法拆分成子问题的。OK,既然动态规划没法用又是求极值的话,首先尝试用贪心...原创 2018-08-21 20:42:54 · 246 阅读 · 0 评论 -
leetcode 503 下一个更大元素 II
每天坚持刷题!!!leetcode 503 下一个更大元素 II题目描述: 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。题目分析:看到题目第一想法就是暴力法喽,针对每一个元素往后找...原创 2018-08-24 09:16:56 · 696 阅读 · 0 评论 -
leetcode 56 合并区间, 57 插入区间
每天坚持刷题!!!leetcode 56 合并区间题目描述: 给出一个区间的集合,请合并所有重叠的区间。题目分析: 1. 先简单分析下合并的过程。假设Interval_x 和 Interval_y合并,那么合并的结果就是 Interval(min(Interval_x.start, Interval_y.start), max(Interval_x.end, Interval_y....原创 2018-08-20 20:12:49 · 232 阅读 · 0 评论 -
leetcode 死磕动态规划-入门4
每天坚持刷题!!! 今天继续leetcode 97 交错字符串题目描述: 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。题目分析: 1. 难点还是在于如何设计暂存矩阵,D[i][j]为s1到第i个字符和s2到第j个字符能否匹配s3到第i+j-1个字符,那么状态转移过程就是D[i][j]要么由D[i-1][j] + s1的第i个字符匹配s...原创 2018-08-16 20:00:02 · 139 阅读 · 0 评论 -
leetcode 120 三角形最小路径和
每天坚持刷题!!! 补上昨天的份leetcode 120 三角形最小路径和题目描述: 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。题目分析:首先这道题从三角形的顶点往下的话有点复杂,更便捷的方法是从下到上,因为每一行的每一个点只能由下一行紧挨的两个点得到,那么从下到上可以知道每一行每一个点的最小值,建立一个二维数组存储即可,状态转移方程为D...原创 2018-08-18 17:17:55 · 276 阅读 · 0 评论 -
leetcode 死磕动态规划-入门1
每天坚持刷题!!! 因为本人动态规划实在是弱鸡,激励自己攻克难关首先来一些leetcode上动态规划的中等和简单的题来练练手, 个人对动态规划的理解就是可以把很多中间量储存在一个状态表里。leetcode 62 不同路径题目描述: 一个机器人位于一个 m x n 网格的左上角 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角,问总共有多少条不同的路径?题目分析: ...原创 2018-08-13 20:26:58 · 191 阅读 · 0 评论 -
lintcode 378 将二叉查找树转换成双链表 python
每天坚持刷题!!题目要求 将一个二叉查找树按照中序遍历转换成双向链表。题目分析简单的思路是先用数组或是队列存储二叉查找树的中序遍历结果,然后从头到尾遍历生成双向链表,需要O(n)的时间和额外O(n)的空间,因为我们需要对二叉查找树的每一个节点生成对应的双向链表,所以时间复杂度不太可能下降,可以针对空间进行优化。优化的思路是在进行二叉查找树中序遍历时就生成对应的双向链表的节点,那么...原创 2018-08-08 21:50:54 · 650 阅读 · 0 评论 -
leetcode 死磕动态规划-入门3
每天坚持刷题!!! 今天继续死磕难题leetcode 72. 编辑距离题目描述: 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 1. 插入一个字符 2. 删除一个字符 3. 替换一个字符题目分析: 1. 动态规划的题的难点还是如何定义状态转移方程和暂存的数组,对于这一道题而言...原创 2018-08-15 19:20:10 · 189 阅读 · 0 评论 -
leetcode 死磕动态规划-入门2
每天坚持刷题!!! 今天继续死磕动态规划,昨个发现简单题目没啥用,今天开始死磕难题直接上题 leetcode 32 最长有效括号题目描述: 给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。题目分析: 1.讲真这个用栈做是挺简单的,但是既然是死磕动态规划而且在leetcode上也有动态规划的标签,那就要拼死也要用动态规划来做。 2. 重点还是找...原创 2018-08-14 22:22:30 · 140 阅读 · 0 评论 -
leetcode 42 接雨水 python
每天坚持刷题!!题目要求 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。题目分析 1. 首先明确如何计算一个可以接雨水的结构的面积,第一需要两个边界,类似桶的两个边,注意此时取得是两个边界的最小值为最终边界的高,然后用边界的高乘以两个边界的距离再减去两个边界之间所有柱子的面积即可。 2. 从上面的分析我们需要在遍历时寻找两个边界,同...原创 2018-08-10 23:32:16 · 1141 阅读 · 2 评论 -
leetcode 508 出现次数最多的子树元素和
每天坚持刷题!!题目要求 1. 给出二叉树的根,找出出现次数最多的子树元素和。一个结点的子树元素和定义为以该结点为根的二叉树上所有结点的元素之和(包括结点本身)。然后求出出现次数最多的子树元素和。如果有多个元素出现的次数相同,返回所有出现次数最多的元素(不限顺序)。题目分析 1. 题目中的数据结构是二叉树,那么自然想到用递归。题目要求输出子树元素和出现次数最多的元素和,那么一个简...原创 2018-08-09 20:30:43 · 790 阅读 · 0 评论