自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 CSDN项目:每日一题

csdn项目页

2020-10-24 10:33:47 552 1

原创 12.9 每日一题 62. 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 示例 1: 输入: m = 3, n = 2 输出: 3 解释: 从左上角开始,总共有 3 条路径可以到达右下角。 1. 向右 -> 向右 -> 向下 2. 向右 -> 向下 -> 向右 3. 向下 ->

2020-12-09 10:22:40 215

转载 11.22 每日一题 242. 有效的字母异位词

给定两个字符串 s 和t ,编写一个函数来判断 t 是否是 s的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况? 通过次数179,064 | 提交次数283,805 代码实现 class Solution: def isAn

2020-11-23 10:02:18 148

原创 11.23 每日一题 452. 用最少数量的箭引爆气球

在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的弓箭的

2020-11-23 09:57:58 188

原创 11.20 每日一题 147. 对链表进行插入排序

对链表进行插入排序。 插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。 插入排序算法: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。 重复直到所有输入数据插入完为止。 示例 1: 输入: 4->2->1->3 输出: 1->2

2020-11-20 10:48:59 110

原创 11.19 每日一题 283. 移动零

给定一个数组 nums,编写一个函数将所有 0移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 通过次数247,393 | 提交次数392,424 代码实现 栈方法 class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not

2020-11-19 10:42:03 149

原创 11.18 每日一题 134. 加油站

在一条环路上有 N 个加油站,其中第i个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i个加油站开往第i+1 个加油站需要消耗汽油cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输入数组中的元素均为非负数。 示例 1: 输入: gas = [1,2,3,4,5] cost = [3,4,5,1,2] 输出: 3

2020-11-18 09:35:19 276

原创 11.17 每日一题 1030. 距离顺序排列矩阵单元格

给出 R行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R且 0 <= c < C。 另外,我们在该矩阵中给出了一个坐标为(r0, c0) 的单元格。 返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两单元格(r1, c1)和 (r2, c2) 之间的距离是曼哈顿距离,|r1 - r2| + |c1 - c2|。(你可以按任何满足此条件的顺序返回答案。) 示例 1: 输入:R = 1, C = 2, r0 =

2020-11-17 10:17:27 134

原创 11.14 每日一题 1122. 数组的相对排序

给你两个数组,arr1和 arr2, arr2 中的元素各不相同 arr2中的每个元素都出现在arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2中出现过的元素需要按照升序放在 arr1的末尾。 示例: 输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6] 输出:[2,2,2,1,4,3,3,9,6,7,19] 提示: arr1.length, arr2.length &l

2020-11-14 13:13:01 146

原创 11.13 每日一题 328. 奇偶链表

给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2->3->4->5->NULL 输出: 1->3->5->2->4->NULL 示例 2: 输入: 2->1->3->5->6->4-

2020-11-13 10:11:50 135

转载 加速下载python包

国内源: 清华:`https://pypi.tuna.tsinghua.edu.cn/simple` 阿里云:`https://mirrors.aliyun.com/pypi/simple/` 中国科技大学` https://pypi.mirrors.ustc.edu.cn/simple/` 华中理工大学:`https://pypi.hustunique.com/` 山东理工大学:`https://pypi.sdutlinux.org/ ` 豆瓣:`https://pypi.douban.com

2020-11-11 15:26:55 216

原创 jupyter notebook 加载虚拟环境

首先创建虚拟环境,并进入虚拟环境。 在终端安装ipykernel pip install ipykernel 然后执行如下命令将创建的虚拟环境加入到jupyter中 python -m ipykernel install --user --name=xxx(自定义kernel名) 最终在ipynb文件中的服务下的改变服务选择自定义的服务。 ...

2020-11-11 15:13:52 233

原创 11.11 每日一题 514. 自由之路

视频游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。 给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。 最初,ring 的第一个字符与12:00方向对齐。您需要顺时针或逆时针旋转ring 以使 key 的一个字符在 12:00方向对齐,然后按下中心按钮,以此逐个拼写完key中的所有字符。 旋转 ring 拼出 key 字符key

2020-11-11 09:40:18 239

原创 11.10 每日一题 31. 下一个排列

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 → 1,2,3 1,1,5 → 1,5,1 通过次数100,312 | 提交次数287,101 代码实现 class Solution: def nextPermutation(self, nums: L

2020-11-10 10:03:42 88

原创 11.9 每日一题 973. 最接近原点的 K 个点

我们有一个由平面上的点组成的列表 points。需要从中找出 K个距离原点 (0, 0) 最近的点。 (这里,平面上两点之间的距离是欧几里德距离。) 你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。 示例 1: 输入:points = [[1,3],[-2,2]], K = 1 输出:[[-2,2]] 解释: (1, 3) 和原点之间的距离为 sqrt(10), (-2, 2) 和原点之间的距离为 sqrt(8), 由于 sqrt(8) < sqrt(10),(-2, 2) 离原点

2020-11-09 11:00:41 180

原创 11.8 每日一题 122. 买卖股票的最佳时机 II

给定一个数组,它的第i个元素是一支给定股票第i天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 **注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价

2020-11-08 13:04:06 120

原创 11.7 每日一题 327. 区间和的个数

给定一个整数数组 nums,返回区间和在[lower, upper]之间的个数,包含 lower 和 upper。 区间和 S(i, j)表示在nums中,位置从 i 到j的元素之和,包含i和 j (i ≤ j)。 说明: 最直观的算法复杂度是 O(n2),请在此基础上优化你的算法。 示例: 输入: nums = [-2,5,-1], lower = -2, upper = 2, 输出: 3 解释: 3个区间分别是: [0,0], [2,2], [0,2],它们表示的和分别为: -2, -1, 2。 通

2020-11-07 11:14:30 185

原创 11.4 每日一题 57. 插入区间

给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入:intervals = [[1,3],[6,9]], newInterval = [2,5] 输出:[[1,5],[6,9]] 示例 2: 输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8] 输出:[[1,2],[3,10],[12,16]] 解释

2020-11-04 10:01:17 150

原创 11.3 每日一题 941. 有效的山脉数组

给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。 让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组: A.length >= 3 在 0 < i < A.length - 1 条件下,存在 i 使得: - A[0] < A[1] < ... A[i-1] < A[i] - A[i] > A[i+1] > ... > A[A.length - 1] 示例 1: 输入:[2,1] 输出:false

2020-11-03 10:23:42 131

原创 10.31 每日一题 381. O(1) 时间插入、删除和获取随机元素 - 允许重复

设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构。 注意: 允许出现重复元素。 insert(val):向集合中插入元素 val。 remove(val):当 val存在时,从集合中移除一个val。 getRandom:从现有集合中随机获取一个元素。每个元素被返回的概率应该与其在集合中的数量呈线性相关。 示例: // 初始化一个空的集合。 RandomizedCollection collection = new RandomizedCollection(); // 向集合中插入

2020-10-31 13:19:31 121

原创 10.30 每日一题 463. 岛屿的周长

给定一个包含 0和1的二维网格地图,其中 1表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1的正方形。网格为长方形,且宽度和高度均不超过 100。计算这个岛屿的周长。 示例 : 输入: [[0,1,0,0], [1,1,1,0], [0,1,0,0], [1,1,0,0]] 输出: 16 解

2020-10-30 09:30:47 132

原创 10.29每日一题129. 求根到叶子节点数字之和

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 示例 1: 输入: [1,2,3] 1 / \ 2 3 输出: 25 解释: 从根到叶子节点路径 1->2 代表数字 12. 从根到叶子节点路径 1->3 代表数字 13. 因此,数字总和 = 12 + 13 = 25. 示例

2020-10-29 12:18:34 170

原创 10.28 每日一题 1207. 独一无二的出现次数

给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 示例 1: 输入:arr = [1,2,2,1,1,3] 输出:true 解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。 示例 2: 输入:arr = [1,2] 输出:false 示例 3: 输入:arr = [-3,0,1,-3,1,1,1,-3,10,0] 输出:true 提示: 1 <=

2020-10-28 09:32:53 105

原创 10.27每日一题 144. 二叉树的前序遍历

给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 通过次数192,753 | 提交次数285,362 代码实现 递归实现 # Definition for a binary tree node. class TreeNode: def __init__(self, val=0, left=None, right=None)

2020-10-27 09:50:41 101

原创 10.26每日一题 1365. 有多少小于当前数字的数字

给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。 换而言之,对于每个 nums[i] 你必须计算出有效的j的数量,其中 j 满足j != i 且 nums[j] < nums[i]。 以数组形式返回答案。 示例 1: 输入:nums = [8,1,2,2,3] 输出:[4,0,1,1,3] 解释: 对于 nums[0]=8 存在四个比它小的数字:(1,2,2 和 3)。 对于 nums[1]=1 不存在比它小的数字。 对于 nums[2]=2 存在一

2020-10-26 09:59:21 95

原创 10.25每日一题 845. 数组中的最长山脉

我们把数组 A 中符合下列属性的任意连续子数组B 称为 “山脉”: B.length >= 3 存在0 < i < B.length - 1使得B[0] < B[1] < ... B[i-1] < B[i] > B[i+1] > ... > B[B.length - 1] (注意:B 可以是 A 的任意子数组,包括整个数组 A。) 给出一个整数数组 A,返回最长 “山脉” 的长度。 如果不含有 “山脉” 则返回 0。 示例 1: 输入:[2,1,

2020-10-25 13:26:12 126

原创 10.24每日一题 1024. 视频拼接

你将会获得一系列视频片段,这些片段来自于一项持续时长为T 秒的体育赛事。这些片段可能有所重叠,也可能长度不一。 视频片段 clips[i] 都用区间进行表示:开始于 clips[i][0] 并于 clips[i][1]结束。我们甚至可以对这些片段自由地再剪辑,例如片段[0, 7]可以剪切成 [0, 1] + [1, 3] + [3, 7] 三部分。 我们需要将这些片段进行再剪辑,并将剪辑后的内容拼接成覆盖整个运动过程的片段([0, T])。返回所需片段的最小数目,如果无法完成该任务,则返回 -1 。 示例

2020-10-24 10:02:38 454

原创 10.23 每日一题 234. 回文链表

请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 通过次数141,334 | 提交次数322,133 代码实现 O(n) 时间复杂度和 O(n) 空间复杂度 # Definition for singly-linked list. class ListNode: def __init__(self,

2020-10-23 09:52:24 168 1

原创 10.22 每日一题 763. 划分字母区间

字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。 示例 1: 输入:S = "ababcbacadefegdehijhklij" 输出:[9,7,8] 解释: 划分结果为 "ababcbaca", "defegde", "hijhklij"。 每个字母最多出现在一个片段中。 像 "ababcbacadefegde", "hijhklij" 的划分是错误的,因为划分的片段数较少。 提示: S的长度在[1, 50

2020-10-22 09:53:57 125

原创 10.21 每日一题 925. 长按键入

你的朋友正在使用键盘输入他的名字name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回True。 示例 1: 输入:name = "alex", typed = "aaleex" 输出:true 解释:'alex' 中的 'a' 和 'e' 被长按。 示例 2: 输入:name = "saeed", typed = "ssaaedd" 输出:false 解释:'e'

2020-10-21 09:48:56 193 1

原创 10.20 每日一题 143. 重排链表

给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 给定链表 1->2->3->4, 重新排列为 1->4->2->3. 示例 2: 给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3. 通过次数47,851 | 提交次数82,512 代码实现

2020-10-20 10:32:52 1499

原创 10.19 每日一题 844. 比较含退格的字符串

给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 #代表退格字符。 注意: 如果对空文本输入退格字符,文本继续为空。 示例 1: 输入:S = "ab#c", T = "ad#c" 输出:true 解释:S 和 T 都会变成 “ac”。 示例 2: 输入:S = "ab##", T = "c#d#" 输出:true 解释:S 和 T 都会变成 “”。 示例 3: 输入:S = "a##c", T = "#a#c" 输出:true 解释:S 和 T 都会变

2020-10-19 11:05:49 100

原创 10.18 每日一题 19. 删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第 n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 通过次数259,946 | 提交次数648,405 代码实现 两趟扫描 # Definition for singly-linked list. class ListNode: d

2020-10-18 15:46:03 182 1

原创 10.16 每日一题 977. 有序数组的平方

给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 2: 输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121] 提示: 1 <= A.length <= 10000 -10000 <= A[i] <= 10000 A 已按非递减顺序排序。 通过次数57,889 | 提交次数79,559 代码实现 使用bisect cla

2020-10-16 10:09:50 212

原创 10.15 每日一题 116. 填充每个节点的下一个右侧节点指针

给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。 示例: 输入:{"$id":"1","left":{"$id":"2","left":{"$i

2020-10-15 09:42:59 112

原创 10.14每日一题 1002. 查找常用字符

给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。 你可以按任意顺序返回答案。 示例 1: 输入:["bella","label","roller"] 输出:["e","l","l"] 示例 2: 输入:["cool","lock","cook"] 输出:["c","o"] 提示: 1 <= A.length <= 100 1 <

2020-10-14 09:29:09 126

原创 10.13 每日一题 24. 两两交换链表中的节点

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 通过次数161,345 | 提交次数240,479 代码实现 # Definition for singly-linked list. class ListNode: def __init__(self, val=0, next=None): self

2020-10-13 09:29:15 549

原创 10.12每日一题 530. 二叉搜索树的最小绝对差

给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 提示: 树中至少有 2 个节点。 本题与 783 https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/ 相同 通过次数26,113 | 提交次数44,070 代码实现

2020-10-12 09:43:24 153 1

原创 10.11 leetcode 第 210 场周赛

括号的最大嵌套深度 如果字符串满足一下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS): -字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符。 -字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串 。 -字符串可以写为 (A),其中 A 是一个 有效括号字符串 。 类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S): depth("") = 0 depth(A .

2020-10-11 14:01:22 169

原创 10.11每日一题 416. 分割等和子集

给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [1, 5, 5] 和 [11]. 示例 2: 输入: [1, 2, 3, 5] 输出: false 解释: 数组不能分割成两个元素和相等的子集. 通过次数65,635 | 提交次数134,170 代码实现 class Solution: d

2020-10-11 13:39:15 184

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除