数据结构与算法
LeetCode
Evil
这个作者很懒,什么都没留下…
展开
-
LeetCode——第二百一十题(python):课程表||
题目现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。说明:1、输入的先决条件是由边缘列表表示的图形,而不是邻接矩阵。详情请参见图的表示法。2、你可以假定输入的先决条件中没有重复的边。提示:1、这个问题相原创 2020-05-21 11:27:53 · 476 阅读 · 0 评论 -
LeetCode——第二百零七题(python):课程表
题目你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?提示:1、输入的先决条件是由 边缘列表 表示的图形,而不是 邻接矩阵 。详情请参见图的表示法。2、你可以假定输入的先决条件中没有重复的边。3、1 <= numCourses <= 10^5运行成功的原创 2020-05-21 11:21:33 · 527 阅读 · 0 评论 -
LeetCode——第一百零一题(python):对称二叉树
题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:运行成功的代码# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# ...原创 2020-04-26 21:53:17 · 190 阅读 · 0 评论 -
LeetCode——第一百题(python):相同的树
题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。运行成功的代码# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# se...原创 2020-04-26 21:46:54 · 293 阅读 · 0 评论 -
LeetCode——第三题(python):无重复字符的最长子串
题目给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例2输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例3输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为...原创 2020-04-08 16:28:27 · 242 阅读 · 0 评论 -
LeetCode——第六百四十一题(python):设计循环双端队列
题目设计实现双端队列。你的实现需要支持以下操作:MyCircularDeque(k):构造函数,双端队列的大小为k。insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 true。insertLast():将一个元素添加到双端队列尾部。如果操作成功返回 true。deleteFront():从双端队列头部删除一个元素。 如果操作成功返回 true。delet...原创 2020-03-27 18:00:11 · 216 阅读 · 0 评论 -
LeetCode——第二百三十九题(python):滑动窗口最大值
题目给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。进阶你能在线性时间复杂度内解决此题吗?示例输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:提示1 <= nums.lengt...原创 2020-03-27 15:44:23 · 543 阅读 · 0 评论 -
LeetCode——第一百五十题(python):逆波兰表达式求值
题目根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: [“2”, “1”, “+”, “3”, “*”]输出: 9解释: ((2 + 1) * 3) = 9示例 2:...原创 2020-03-22 16:37:16 · 345 阅读 · 0 评论 -
LeetCode——第八十三题(python):删除排序链表中的重复元素
题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1输入: 1->1->2输出: 1->2示例2输入: 1->1->2->3->3输出: 1->2->3运行成功的代码# Definition for singly-linked list.# class ListNode(object):# de...原创 2020-03-15 21:17:03 · 129 阅读 · 0 评论 -
猜测1-100之间的随机数(c++)
题目#include <iostream>#include <ctime>using namespace std;int main(){ int num,a,i=0; srand(time(0)); num=rand()%100+1; cout<<"猜测一个0到100之间的整数"<<endl; do { cout...原创 2020-03-08 17:08:52 · 549 阅读 · 0 评论 -
LeetCode——二十七题(Python):移除元素
题目给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均...原创 2020-02-20 19:02:19 · 282 阅读 · 0 评论 -
LeetCode——第一题(Python):两数之和
题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...原创 2020-02-20 18:03:19 · 327 阅读 · 0 评论