![](https://img-blog.csdnimg.cn/20210824134829147.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode每日一题系列
文章平均质量分 50
日常练习题
勿在浮沙築高臺
这个作者很懒,什么都没留下…
展开
-
【每日一题】212. 单词搜索 II
212. 单词搜索 II题目描述:给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例1:输入:board = [["o","a","a","n"],["e","t","a","e"],["i","h","k","r"],["i","f","l","v"]],原创 2021-09-18 20:35:42 · 145 阅读 · 0 评论 -
【每日一题】502. IPO
502. IPO题目描述:假设 力扣(LeetCode)即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多 k 个不同的项目。帮助 力扣 设计完成最多 k 个不同项目后得到最大总资本的方式。给你 n 个项目。对于每个项目 i ,它都有一个纯利润 profits[i] ,和启动该项目需要的最小资本 capital[i] 。最初,你的资本为 w 。当你完成一个项目时,你将获得纯利润,且利润将被添加原创 2021-09-08 14:00:22 · 173 阅读 · 0 评论 -
【每日一题】二分查找
704. 二分查找????最近新创建了个开源仓库,总结LeetCode的每日一题,目前已有C++、JavaScript语言版本,欢迎大家提供其他语言版本!????仓库地址:每日一题系列题目描述:给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:原创 2021-09-06 20:17:14 · 147 阅读 · 0 评论 -
【每日一题】剑指 Offer 10- I. 斐波那契数列
剑指 Offer 10- I. 斐波那契数列????最近新创建了个开源仓库,总结LeetCode的每日一题,目前已有C++、JavaScript语言版本,欢迎大家提供其他语言版本!????仓库地址:每日一题系列题目描述:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐原创 2021-09-04 19:00:00 · 126 阅读 · 0 评论 -
【每日一题】剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点????最近新创建了个开源仓库,总结LeetCode的每日一题,目前已有C++、JavaScript语言版本,欢迎大家提供其他语言版本!????仓库地址:每日一题系列题目描述:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1-&原创 2021-09-03 15:17:01 · 154 阅读 · 0 评论 -
【每日一题】 面试题 17.14. 最小K个数
面试题 17.14. 最小K个数????最近新创建了个开源仓库,总结LeetCode的每日一题,目前已有C++、JavaScript语言版本,欢迎大家提供其他语言版本!????仓库地址:每日一题系列题目描述:设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。示例:输入: arr = [1,3,5,7,2,4,6,8], k = 4输出: [1,2,3,4]解答:C++:方法一优先队列 可以看295. 数据流的中位数class Solution {public:原创 2021-09-03 15:14:30 · 128 阅读 · 0 评论 -
【每日一题】比较版本号
165. 比较版本号????最近新创建了个开源仓库,总结LeetCode的每日一题,目前已有C++、JavaScript语言版本,欢迎大家提供其他语言版本! ????仓库地址:每日一题系列题目描述:给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此原创 2021-09-01 15:46:27 · 459 阅读 · 0 评论 -
【每日一题】航班预订统计
1109. 航班预订统计????最近新创建了个开源仓库,总结LeetCode的每日一题,目前已有C++、JavaScript语言版本,欢迎大家提供其他语言版本! ????仓库地址:每日一题系列题目描述:这里有n个航班,它们分别从1到n进行编号。有一份航班预订表bookings,表中第i条预订记录bookings[i] = [firsti, lasti, seatsi]意味着在从firsti到lasti(包含firsti和lasti)的每个航班上预订了seatsi个座位。请你返回一个长度为n的数组a原创 2021-08-31 15:34:15 · 317 阅读 · 0 评论 -
528. 按权重随机选择
528. 按权重随机选择????最近新创建了个开源仓库,总结LeetCode的每日一题,目前已有C++、JavaScript语言版本,欢迎大家提供其他语言版本!????仓库地址:每日一题系列题目描述:给定一个正整数数组w,其中w[i]代表下标i的权重(下标从0开始),请写一个函数pickIndex,它可以随机地获取下标i,选取下标i的概率与w[i]成正比。例如,对于w = [1, 3],挑选下标0的概率为1 / (1 + 3) = 0.25 (即,25%),而选取下标1的概率为3 / (1 + 3原创 2021-08-30 15:43:44 · 189 阅读 · 0 评论 -
1588. 所有奇数长度子数组的和
1588. 所有奇数长度子数组的和题目描述:给你一个正整数数组arr,请你计算所有可能的奇数长度子数组的和。子数组定义为原数组中的一个连续子序列。请你返回arr中所有奇数长度子数组的和 。示例 1:输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[1,4,2,5,3] = 15我们将所有值求和得原创 2021-08-29 15:05:47 · 183 阅读 · 0 评论 -
1480. 一维数组的动态和
1480. 一维数组的动态和????最近新创建了个开源仓库,总结LeetCode的每日一题,目前已有C++、JavaScript语言版本,欢迎大家提供其他语言版本!????仓库地址:每日一题系列题目描述:给你一个数组nums。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i])。请返回nums的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+原创 2021-08-28 14:43:39 · 169 阅读 · 0 评论 -
295. 数据流的中位数
295. 数据流的中位数题目描述:中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的中位数。示例:addNum(1)addNum(2)findMedian() -> 1.5ad原创 2021-08-27 19:38:29 · 135 阅读 · 0 评论 -
leetcode每日一题系列——881. 救生艇
881. 救生艇难度中等166收藏分享切换为英文接收动态反馈第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。示例 1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)解题思路:双指针加排序,重量由小到大排序,最重的能不能带一个最轻的,不能最重的人数量减1,可以最轻最重都减1,即指针原创 2021-08-26 22:28:06 · 184 阅读 · 0 评论 -
leetcode每日一题系列——797. 所有可能的路径
797. 所有可能的路径难度中等185收藏分享切换为英文接收动态反馈给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序)二维数组的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些节点,空就是没有下一个结点了。译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a 。示例 1:输入:graph = [[1,2],[3],[3],[]]输出:[[0,1,3],[0,2,3]]解释:有两条路径 0 -&g原创 2021-08-25 23:06:43 · 244 阅读 · 0 评论 -
leetcode每日一题系列——787. K 站中转内最便宜的航班
787. K 站中转内最便宜的航班难度中等346收藏分享切换为英文接收动态反馈有 n 个城市通过一些航班连接。给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 pricei 抵达 toi。现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到出一条最多经过 k个 中转的站中转的路线,使得从 src 到 dst 的 价格最便宜 ,并返回该价格。 如果不存在这样的路线,则输出原创 2021-08-24 14:35:55 · 365 阅读 · 0 评论 -
LeetCode-笔记-523. 连续的子数组和
LeetCode-笔记-523. 连续的子数组和看完525题来看523题给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。示例 1:输入:nums = [23,2,4,6,7], k = 6输出:true解释:[2,4] 是一个原创 2021-06-03 11:02:03 · 209 阅读 · 0 评论 -
LeetCode-笔记-525. 连续数组
LeetCode-笔记-525. 连续数组6月份第三天前缀和了给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: nums = [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。提示:1 <= nums.length <= 105原创 2021-06-03 10:53:06 · 721 阅读 · 0 评论 -
leetcode--笔记——120. 三角形最小路径和
120. 三角形最小路径和给定一个三角形 triangle ,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。示例 :输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]输出:11解释:如下面简图所示: 2 3 4 6 5 74 1 8原创 2021-05-07 09:48:37 · 142 阅读 · 0 评论 -
LeetCode-笔记-131. 分割回文串
LeetCode-笔记-1131. 分割回文串131. 分割回文串给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例 1:输入:s = "aab"输出:[["a","a","b"],["aa","b"]]示例 2:输入:s = "a"输出:[["a"]]思路在代码里:如下图所示:aab先拆成a,ab,在a是回文串的情况下再拆ab,ab可以拆成a,b与ab,ab不是回文串顾舍去,最终得到原创 2021-04-29 12:20:31 · 268 阅读 · 0 评论 -
LeetCode-笔记-143. 重排链表
LeetCode-笔记-143. 重排链表143. 重排链表给定一个单链表 L:L0→L1→…→L**n-1→Ln ,将其重新排列后变为: L0→L**n→L1→L**n-1→L2→L**n-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1->5->2->原创 2021-04-27 17:09:44 · 160 阅读 · 0 评论 -
LeetCode-笔记-394. 字符串解码
LeetCode-笔记-394. 字符串解码394. 字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例 1:输入:s = "3[a]原创 2021-04-23 23:38:28 · 96 阅读 · 0 评论 -
LeetCode-笔记-231-2的幂
LeetCode-笔记-231-2的幂231. 2的幂给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false1、暴力算法while(n>1){ if(n%2==0){ n/=2; } else{ break; }}if(n==1) return t原创 2021-04-21 13:07:09 · 58 阅读 · 0 评论 -
LeetCode-笔记-199. 二叉树的右视图——BFS广度优先搜索
LeetCode-笔记-199. 二叉树的右视图199. 二叉树的右视图给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---BFS广度优先搜索访问到每行尾部添加元素class Soluti原创 2021-04-20 23:24:25 · 103 阅读 · 0 评论 -
LeetCode—笔记—51、N皇后——递归回溯,个人思路,简单易懂
LeetCode—笔记—51、N皇后——递归回溯,个人思路,简单易懂51. N 皇后n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wKI05IeG-1618132032452)(![C:\Users\w原创 2021-04-11 17:08:46 · 125 阅读 · 0 评论 -
LeetCode-笔记-112、路径总和
LeetCode-笔记-112、路径总和112. 路径总和给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。1、思路一、深度优先遍历:DFS就是从根节点出发,往下依次遍历每个节点,直至叶子节点,算出每条路径之和,与目标值targetSum 比较。这里有几个值得注意的点,在递归时应当以判断是否为叶子节点递归,而不是指针是否为空。传入的b原创 2021-04-07 11:12:47 · 101 阅读 · 0 评论 -
LeetCode-笔记-57.插入区间
LeetCode-笔记-57.插入区间1、题目给你一个 无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 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,原创 2021-04-06 10:42:49 · 112 阅读 · 0 评论 -
Leetcode-笔记-22.括号生成--递归
Leetcode-笔记-22.括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parentheses由原创 2021-03-30 14:34:13 · 160 阅读 · 0 评论 -
LeetCode-笔记-45.跳跃游戏II-贪心算法
LeetCode-笔记-45.跳跃游戏II-贪心算法给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明: 假设你总是可以到达数组的最后一个位置。本题整体思路,贪心算法;本题跳跃思路如下图所示,找原创 2021-03-29 14:34:37 · 205 阅读 · 0 评论 -
LeetCode-笔记-48.旋转图像
LeetCode-笔记-48.旋转图像1、本人思路通过观察发现,就是将列数组从下往上组合形成一个新数组,插入到分别的行中。因此循环次数为matrix.size();[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zgyu1GFM-1616834920760)(C:\Users\wei\Pictures\2021-03-27-1601142.jpg)]因此代码思路如下:class Solution {public: void rotate(vector<原创 2021-03-27 16:49:43 · 162 阅读 · 1 评论 -
2020-10-26runtime error: member access within null pointer of type ‘struct ListNode‘ (solution.cpp)错
runtime error: member access within null pointer of type 'struct ListNode' (solution.cpp)错误/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode原创 2020-10-26 20:50:03 · 845 阅读 · 0 评论