Leetcode
文章平均质量分 54
陈沧夜
人工智能领域创作者,华为云云享专家,百度飞桨技术专家
展开
-
9. 回文数-力扣
题目给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。原创 2022-04-01 13:51:42 · 1187 阅读 · 0 评论 -
1629. 按键持续时间最长的键
1629. 按键持续时间最长的键题源https://leetcode-cn.com/problems/slowest-key/题目LeetCode 设计了一款新式键盘,正在测试其可用性。测试人员将会点击一系列键(总计 n 个),每次一个。给你一个长度为 n 的字符串 keysPressed ,其中 keysPressed[i] 表示测试序列中第 i 个被按下的键。releaseTimes 是一个升序排列的列表,其中 releaseTimes[i] 表示松开第 i 个键的时间。字符串和数组的原创 2022-01-09 19:38:45 · 762 阅读 · 0 评论 -
1614. 括号的最大嵌套深度
1614. 括号的最大嵌套深度文章目录1614. 括号的最大嵌套深度题源题目内容示例思路答案题源https://leetcode-cn.com/problems/maximum-nesting-depth-of-the-parentheses/题目内容原文的题目解释太绕了反而有点难以理解给你一个 有效括号字符串 s,返回该字符串的 s 嵌套深度 。即返回字符串中某个数字被括号括住的最深深度。示例示例 1:输入:s = "(1+(2*3)+((8)/4))+1"输出:3解释:数字 8原创 2022-01-07 17:50:42 · 950 阅读 · 0 评论 -
1576. 替换所有的问号
1576. 替换所有的问号文章目录1576. 替换所有的问号题源题目内容示例思路答案题源https://leetcode-cn.com/problems/replace-all-s-to-avoid-consecutive-repeating-characters/题目内容给你一个仅包含小写英文字母和 '?' 字符的字符串 s,请你将所有的'?' 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你 不能 修改非 '?' 字符。题目测试用例保证 除 '?' 字符 之外,不存原创 2022-01-06 00:09:03 · 537 阅读 · 1 评论 -
1185. 一周中的第几天
1185. 一周中的第几天文章目录1185. 一周中的第几天题源题目内容示例思路答案题源https://leetcode-cn.com/problems/day-of-the-week/题目内容给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。输入为三个整数:day、month 和 year,分别表示日、月、年。您返回的结果必须是这几个值中的一个{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "S原创 2022-01-03 23:20:46 · 506 阅读 · 1 评论 -
390. 消除游戏
390. 消除游戏题源https://leetcode-cn.com/problems/elimination-game/内容列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序。请你对 arr 应用下述算法:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。重复上面的步骤,但这次是从右到左。也就是,删除最右侧的数字,然后剩下的数字每隔一个删除一个。不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。给你整数 n ,返回 arr 最后剩下的原创 2022-01-02 23:36:46 · 2797 阅读 · 0 评论 -
二分法浅谈
文章目录前言循环条件?当循环条件为 < 时当循环条件为 <= 时搜索的区间如何定义?溢出如何解决?前言最近在做力扣的 14 天计划 「算法」 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 (leetcode-cn.com)然后第一天就是 二分查找704. 二分查找 - 力扣(LeetCode) (leetcode-cn.com)278. 第一个错误的版本 - 力扣(LeetCode) (leetcode-cn.com)35. 搜索插入位置 - 力扣(LeetC原创 2021-08-25 23:12:47 · 581 阅读 · 0 评论 -
274. H 指数
274. H 指数题目:给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 N - h 篇论文每篇被引用次数 不超过 h 次。例如:某人的 h 指数是 20,这表示他已发表的论文中,每篇被引用了至少 20 次的论文总共有 20 篇。示例:输入:citations = [原创 2021-07-11 13:27:17 · 570 阅读 · 0 评论 -
168. Excel表列名称
文章目录来源题目内容思路代码来源力扣(LeetCode)题目内容给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...示例 1:输入: 1输出: A示例 2:输入: 28输出: AB示例 3:输入: 701输出: ZY思路这一题,本来以为使用进制转换可以快速做出来。然而在做的时候发现还是太天真了。因此带来的经验教训是原创 2021-06-29 12:13:18 · 553 阅读 · 0 评论 -
191 & 剑指 Offer 15. 二进制中1的个数
文章目录来源内容解题过程总结来源主站191题,剑指 Offer 15题内容请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:000000000000原创 2021-06-23 01:35:36 · 522 阅读 · 1 评论 -
401. 二进制手表
题源401. 二进制手表 - 力扣(LeetCode) (leetcode-cn.com)题目内容二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,下面的二进制手表读取 “3:25” 。(图源:WikiMedia - Binary clock samui moon.jpg ,许可协议:Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)原创 2021-06-22 10:34:23 · 529 阅读 · 1 评论 -
最大连续1的个数
题目内容给定一个二进制数组, 计算其中最大连续 1 的个数。示例:输入: [1,1,0,1,1,1]输出: 3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.提示:输入的数组只包含 0 和 1 。输入数组的长度是正整数,且不超过 10,000。作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/array-and-string/cd71t/来源:力扣(LeetCode)著作权归作者所有。商业转载原创 2021-04-14 00:53:28 · 531 阅读 · 1 评论 -
反转字符串
题目编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]作者:原创 2021-04-13 00:49:38 · 578 阅读 · 1 评论 -
LeetBook/数组和字符串/搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/array.原创 2021-01-01 15:23:19 · 594 阅读 · 1 评论 -
Leetcode 200.岛屿数量——dfs
Leetcode 200.岛屿数量——dfs题目给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010...原创 2020-04-20 15:27:23 · 617 阅读 · 0 评论 -
Leetcode 110. 平衡二叉树——dfs
Leetcode 110. 平衡二叉树——dfs题目给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3/ 9 20/ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,n...原创 2020-04-19 21:30:50 · 690 阅读 · 0 评论 -
Leetcode 101. 对称二叉树——递归,迭代
Leetcode 101. 对称二叉树——递归,迭代题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1/ 2 2\ 3 3链接:https://leetcode-cn.com...原创 2020-04-19 16:29:16 · 653 阅读 · 1 评论 -
leetcode 11.盛最多水的容器——二分法
leetcode 11.盛最多水的容器——二分法题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,...原创 2020-04-19 13:23:12 · 627 阅读 · 1 评论 -
167. 两数之和 II - 输入有序数组
给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], targ...原创 2019-12-04 23:18:44 · 520 阅读 · 1 评论 -
寻找数组的中心索引
寻找数组的中心索引给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:...原创 2019-12-04 23:17:12 · 600 阅读 · 0 评论 -
加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。思...原创 2019-12-04 23:16:05 · 526 阅读 · 0 评论 -
Leetcode 206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self....原创 2019-03-23 21:20:20 · 532 阅读 · 0 评论 -
Leetcode 141. 环形链表
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解...原创 2019-03-23 21:20:50 · 539 阅读 · 0 评论 -
Leetcode 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4#include<algorithm>class Solution {public: in...原创 2019-03-23 21:21:17 · 576 阅读 · 0 评论 -
Leetcode 26. 删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums...原创 2019-03-23 21:21:39 · 560 阅读 · 0 评论 -
Leetcode 24. 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.# Definition for singly-linked list.# class ListNode(object):# def __init__...原创 2019-03-23 21:21:57 · 551 阅读 · 0 评论 -
Leetcode 1. 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]int* twoS...原创 2019-03-23 21:22:16 · 590 阅读 · 0 评论 -
二分法C++与Python
来源于LeetcodeC++int binarySearch(vector<int>& nums, int target){ if(nums.size() == 0) return -1; int left = 0, right = nums.size() - 1; while(left <= right){ // Prevent ...转载 2019-04-27 15:51:22 · 526 阅读 · 0 评论 -
Leetcode 50. Pow(x, n) 快速幂
50. Pow(x, n)实现pow(x,n),即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输出: 9.26100示例3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-1...原创 2019-04-28 10:30:19 · 591 阅读 · 1 评论 -
Leetcode 235. 二叉搜索树的最近公共祖先
235. 二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]...原创 2019-05-03 20:44:45 · 535 阅读 · 1 评论 -
Leetcode 98. 验证二叉搜索树
98. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4...原创 2019-04-29 14:49:25 · 528 阅读 · 0 评论 -
Leetcode 5039. 移动石子直到连续
第134次周赛 5039. 移动石子直到连续5039.移动石子直到连续三枚石子放置在数轴上,位置分别为a,b,c。每一回合,我们假设这三枚石子当前分别位于位置x, y, z且x < y < z。从位置x或者是位置z拿起一枚石子,并将该石子移动到某一整数位置k处,其中x < k < z且k != y。当你无法进行任何移动时,即,...原创 2019-04-29 15:12:37 · 834 阅读 · 0 评论 -
Leetcode 20. 有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([...原创 2019-03-23 21:19:42 · 572 阅读 · 0 评论