LeetCode每日一题
啊这样也行
干啥啥不行,吃饭第一名。
展开
-
LeetCode每日一题14/?
验证回文字符串 Ⅱ题目描述:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。输入输出样例输入: "abca"输出: True解释: 你可以删除c字符。题解:本题为简单题,运用双指针同时从两端向中间读取值判断是否相等。因为回文串满足对称性质,所以只要出现不等情况就分两种情况判断是否出现删除一端的一个数据能保证整个字符串为回文串;而因为之前遍历的数据已经确定满足对称性,所以只要删除后未判断的字符串满足回文性质,那么整个字符串就满足回文。具体代码#include &l原创 2021-05-18 20:23:38 · 169 阅读 · 0 评论 -
LeetCode每日一题13/?
平方数之和题目描述:给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。输入输出样例输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5题解:本题为简单题,类似于之前做过的两数之和的题。同样是运用双指针同时从两段向中间循环遍历求值。唯一要注意的一点是理解为何采用该方法不会少判。可以通过双指针的本质或者类比成二维数组判断查找来思考;参考教程:LeetCode精品题解具体代码#include <iostream>原创 2021-05-14 16:34:34 · 192 阅读 · 0 评论 -
LeetCode每日一题12/?
环形链表 II题目描述:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。输入输出样例输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环,其尾部连接到第二个节点。题解:本题为简单题,但需要原创 2021-05-11 10:10:40 · 183 阅读 · 0 评论 -
LeetCode每日一题11/?
合并两个有序数组题目描述:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。输入输出样例输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]题解:本题为原创 2021-05-06 15:21:09 · 103 阅读 · 0 评论 -
LeetCode每日一题10/?
两数之和题目描述:给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。输入输出样例输入:numbers = [2,7,11,1原创 2021-04-29 21:40:13 · 143 阅读 · 0 评论 -
LeetCode每日一题9/?
非递减数列题目描述:给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。输入输出样例输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。题解:本题为简单题,但也有坑需要注意;不能直接当发现下降时就直接修改上一个数原创 2021-04-28 21:14:57 · 184 阅读 · 0 评论 -
LeetCode每日一题8/?
根据身高重建队列题目描述:假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。输入输出样例输入:people原创 2021-04-27 11:44:12 · 131 阅读 · 0 评论 -
LeetCode每日一题7/?
买卖股票的最佳时机 II题目描述:给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入输出样例输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4原创 2021-04-26 09:23:52 · 103 阅读 · 0 评论 -
LeetCode每日一题6/?
划分字母区间题目描述:字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。输入输出样例输入:S = "ababcbacadefegdehijhklij"输出:[9,7,8]解释:划分结果为 "ababcbaca", "defegde", "hijhklij"。每个字母最多出现在一个片段中。像 "ababcbacadefegde", "hijhklij" 的划分是错误的,因为划分的片段数较少。题解原创 2021-04-25 19:58:31 · 84 阅读 · 0 评论 -
LeetCode每日一题5/?
用最少数量的箭引爆气球题目描述:在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找原创 2021-04-24 20:05:50 · 131 阅读 · 0 评论 -
LeetCode每日一题4/?
种花问题题目描述:假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。输入输出样例输入:flowerbed = [1,0,0,0,1], n = 1输出:true题解:本题为简单题,使用能种就种的原创 2021-04-23 18:20:47 · 87 阅读 · 0 评论 -
LeetCode每日一题3/?
无重叠区间题目描述:给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠输入输出样例Input: [ [1,2], [2,3], [3,4], [1,3] ]Output: 1题解:因为在选择要保留区间时,区间的结尾十分重要:选择的区间结尾越小,余留给其它区间的空间就越大,就越能保留更多的区间。因此,我们采取的贪心策略为,优先保留结尾小且不相交的区间。具体实原创 2021-04-22 18:24:40 · 83 阅读 · 0 评论 -
LeetCode每日一题2/?
糖果分配题目描述:一群孩子站成一排,每一个孩子有自己的评分。现在需要给这些孩子发糖果,规则是如果一个孩子的评分比自己身旁的一个孩子要高,那么这个孩子就必须得到比身旁孩子更多的糖果;所有孩子至少要有一个糖果。求解最少需要多少个糖果。输入输出样例输入是一个数组,表示孩子的评分。输出是最少糖果的数量。Input: [1,0,2]Output: 5在这个样例中,最少的糖果分法是[2,1,2]。题解:本题为简单题,采用贪心算法进行两次遍历即可;把所有孩子的糖果数初始化为1;先从左往右遍历一遍,原创 2021-04-21 19:31:45 · 150 阅读 · 0 评论 -
LeetCode每日一题1/?
饼干分配题目描述:有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃最多一个饼干,且只有饼干的大小大于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩子可以吃饱。输入输出样例输入两个数组,分别代表孩子的饥饿度和饼干的大小。输出最多有多少孩子可以吃饱的数量。Input: [1,2], [1,2,3]Output: 2在这个样例中,我们可以给两个孩子喂[1,2]、[1,3]、[2,3]这三种组合的任意一种题解:本题为简单题,采用贪心算法即可;因为饥饿度最小原创 2021-04-20 20:26:39 · 952 阅读 · 0 评论