LeetCode
red98
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 1832. 判断句子是否为全字母句
LeetCode全字母句 指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。如果是,返回 true ;否则,返回 false 。示例 1:输入:sentence = “thequickbrownfoxjumpsoverthelazydog”输出:true解释:sentence 包含英语字母表中每个字母至少一次。示例 2:输入:sentence = “leetcode”输出:false提示:原创 2021-04-30 12:00:43 · 243 阅读 · 0 评论 -
LCP 06. 拿硬币
LeetCode桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。示例 1:输入:[4,2,1]输出:4解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。示例 2:输入:[2,3,10]输出:8限制:1 <= n <= 41 <= coins[i] <= 10==============方法一class So原创 2021-04-28 20:21:24 · 158 阅读 · 0 评论 -
LeetCode 234. 回文链表
LeetCode请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?=====/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int原创 2020-10-23 19:14:07 · 198 阅读 · 0 评论 -
LeetCode 763. 划分字母区间
LeetCode字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。示例 1:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较少。提示:S的长度原创 2020-10-22 18:19:18 · 230 阅读 · 1 评论 -
LeetCode 925. 长按键入
LeetCode你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1:输入:name = “alex”, typed = “aaleex”输出:true解释:‘alex’ 中的 ‘a’ 和 ‘e’ 被长按。示例 2:输入:name = “saeed”, typed = “ssaaedd”输出:fa原创 2020-10-21 09:40:21 · 201 阅读 · 0 评论 -
LeetCode 143. 重排链表
LeetCode给定一个单链表 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.====/** * Definition原创 2020-10-20 09:56:56 · 254 阅读 · 0 评论 -
LeetCode 844. 比较含退格的字符串
LeetCode给定 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原创 2020-10-19 14:09:01 · 113 阅读 · 0 评论 -
LeetCode 977. 有序数组的平方
LeetCode 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] <= 10000A 已按非递减顺序排序。====思路计算完排序就好了原本是单调递增原创 2020-10-16 10:34:56 · 117 阅读 · 0 评论 -
LeetCode 1002. 查找常用字符
LeetCode给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。示例 1:输入:[“bella”,“label”,“roller”]输出:[“e”,“l”,“l”]示例 2:输入:[“cool”,“lock”,“cook”]输出:[“c”,“o”]提示:1 <= A.length <= 100原创 2020-10-14 20:10:14 · 94 阅读 · 0 评论 -
LeetCode 24. 两两交换链表中的节点
LeetCode给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.=====/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : va原创 2020-10-13 16:40:34 · 129 阅读 · 0 评论 -
LeetCode 142. 环形链表 II
LeetCode给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。====思路:判断环,已知方法公式可推断:从相遇点和启点出发的2个指针,一定会在入口点的相遇。/** * Definition for singly-linked list. * struct ListNode { *原创 2020-10-10 10:55:41 · 244 阅读 · 0 评论 -
LeetCode 141. 环形链表
LeetCode给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。/** * Definition for singly-linked list. * stru原创 2020-10-09 19:56:06 · 292 阅读 · 0 评论 -
LeetCode 1431. 拥有最多糖果的孩子
给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true]解释:孩子 1 有 2 个糖果,如果他得到所有原创 2020-09-30 14:11:53 · 206 阅读 · 0 评论 -
LeetCode 算法面试汇总 搜索二维矩阵 II
LeetCode编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 target = 5,返回 true。给定 tar原创 2020-09-30 10:02:20 · 190 阅读 · 0 评论 -
LeetCode 算法面试汇总 多数元素
LeetCode给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2====思路:计数法,可使用HashMap,统计过程中,超过半数即为多数元素。排序法,排序后,中间元素必为多数元素。摩尔投票法,使用不同的两个元素相抵消,最差的情况,每个不同于多数元素的值,都和多数元素抵消原创 2020-09-30 09:38:14 · 242 阅读 · 0 评论 -
LeetCode 算法面试汇总 只出现一次的数字
LeetCode链接只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4====思路:两个数异或结果为0. 推理出一个数异或同一个数2次,值不变。同理vector中所有数异或结果为出现1次的那个数。使用std::accumulate()完成vector的原创 2020-09-29 17:52:22 · 160 阅读 · 0 评论 -
LeetCode #26 删除排序数组中的重复项
#26 删除排序数组中的重复项题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面...原创 2019-11-23 17:30:43 · 135 阅读 · 0 评论
分享