![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 66
iygvh
这个作者很懒,什么都没留下…
展开
-
400. 第 N 位数字
是200,那么我们就知道它一定是三位数,且它是三位数里的第200−9−180=11位,转换成从0开始的索引就是11-1=10。三位数是每三位一个数,那么它就是三位数里的第10/3=3个,也就是103。而我们要找该数里的10%3=1位也就是0。我们要知道第n位是什么,其实就是要找它属于几位数,它在那位数里是第多少个数,以及最终要找是该位数的第几位。一位数(9个),两位数(180个),三位数(2700个), 假如。Java等语言中注意一下溢出处理。,请你在无限的整数序列。原创 2024-08-29 17:23:53 · 60 阅读 · 0 评论 -
27. 移除元素
给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。原创 2024-08-29 15:20:14 · 101 阅读 · 0 评论 -
795. 区间子数组个数
给你一个整数数组numsleft及right。找出nums中连续、非空且其中最大元素在范围内的子数组,并返回满足条件的子数组的个数。生成的测试用例保证结果符合整数范围。原创 2024-08-29 14:24:41 · 105 阅读 · 0 评论 -
474. 一和零
给你一个二进制字符串数组strs和两个整数m和n。请你找出并返回strs的最大子集的长度,该子集中有m个0和n个1。如果x的所有元素也是y的元素,集合x是集合y的。'0''1'原创 2024-08-29 13:44:39 · 386 阅读 · 0 评论 -
1106. 解析布尔表达式
是计算结果不是true就是false的表达式。't'true'f'subExpr给你一个以字符串形式表述的expression,返回该式的运算结果。题目测试用例所给出的表达式均为有效的布尔表达式,遵循上述约定。原创 2024-08-29 13:12:21 · 130 阅读 · 0 评论 -
205. 同构字符串
给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。原创 2024-08-29 12:42:05 · 76 阅读 · 0 评论 -
769. 最多能完成排序的块
给定一个长度为n的整数数组arr,它表示在[0, n - 1]范围内的整数的排列。我们将arr分割成若干(即分区),并对每个块单独排序。将它们连接起来后,使得连接的结果和按升序排序后的原数组相同。返回数组能分成的最多块数量。原创 2024-08-29 12:33:49 · 64 阅读 · 0 评论 -
1408. 数组中的字符串匹配
给你一个字符串数组words,数组中的每个字符串都可以看作是一个单词。请你按顺序返回words中是其他单词的子字符串的所有单词。如果你可以删除words[j]最左侧和/或最右侧的若干字符得到words[i],那么字符串words[i]就是words[j]的一个子字符串。words[i]原创 2024-08-29 11:54:42 · 372 阅读 · 0 评论 -
167. 两数之和 II - 输入有序数组
给你一个下标从开始的整数数组numbers,该数组已按,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是和,则。以长度为 2 的整数数组的形式返回这两个整数的下标index1和index2。你可以假设每个输入,而且你重复使用相同的元素。你所设计的解决方案必须只使用常量级的额外空间。原创 2024-08-28 22:56:01 · 139 阅读 · 0 评论 -
611. 有效三角形的个数
给定一个包含非负整数的数组nums,返回其中可以组成三角形三条边的三元组个数。原创 2024-08-27 21:03:13 · 579 阅读 · 0 评论 -
581. 最短无序连续子数组
给你一个整数数组nums,你需要找出一个,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的子数组,并输出它的长度。:你可以设计一个时间复杂度为O(n)的解决方案吗?原创 2024-08-27 19:56:57 · 624 阅读 · 0 评论 -
347. 前 K 个高频元素
给你一个整数数组 `nums` 和一个整数 `k` ,请你返回其中出现频率前 `k` 高的元素。你可以按 **任意顺序** 返回答案。例如,`nums = [1,1,1,2,2,3]`,`k = 2`,`nums`中`1`出现了`3`次,`2`出现了`2`次,`3`出现了`1`次,所以前`2`个高频元素是`1`和`2`,因此输出`[1,2]`。原创 2024-08-27 23:11:20 · 726 阅读 · 1 评论 -
452. 用最少数量的箭引爆气球
有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组points,其中表示水平直径在xstart和xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为x``startx``end, 且满足,则该气球会被。可以射出的弓箭的数量。弓箭一旦被射出之后,可以无限地前进。给你一个数组points返回引爆所有气球所必须射出的弓箭数。原创 2024-08-28 22:39:02 · 181 阅读 · 0 评论 -
559. N 叉树的最大深度
给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。原创 2024-08-28 22:11:18 · 100 阅读 · 0 评论 -
235. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。[百度百科](https://baike.baidu.com/item/最近公共祖先/8918834?fr=aladdin)中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(**一个节点也可以是它自己的祖先**)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]原创 2024-08-28 21:44:59 · 666 阅读 · 0 评论 -
1658. 将 x 减到 0 的最小操作数
给你一个整数数组nums和一个整数x。每一次操作时,你应当移除数组nums最左边或最右边的元素,然后从x中减去该元素的值。请注意,需要数组以供接下来的操作使用。如果可以将x减到0,返回;否则,返回-1。原创 2024-08-28 21:31:44 · 151 阅读 · 0 评论 -
6. Z 字形变换
将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为行数为3。原创 2024-08-28 20:49:34 · 96 阅读 · 0 评论 -
1312. 让字符串成为回文串的最少插入次数
给你一个字符串s,每一次操作你都可以在字符串的任意位置插入任意字符。请你返回让s成为回文串的。「回文串」是正读和反读都相同的字符串。原创 2024-08-28 20:16:27 · 100 阅读 · 0 评论 -
51. N 皇后
按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数n,返回所有不同的的解决方案。每一种解法包含一个不同的的棋子放置方案,该方案中'Q'和'.'分别代表了皇后和空位。原创 2024-08-28 18:58:15 · 696 阅读 · 0 评论 -
438. 找到字符串中所有字母异位词
给定两个字符串s和p,找到s中所有p的的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指由相同字母重排列形成的字符串(包括相同的字符串)。原创 2024-08-28 17:50:13 · 198 阅读 · 0 评论 -
977. 有序数组的平方
给你一个按排序的整数数组nums,返回组成的新数组,要求也按排序。原创 2024-08-28 16:57:15 · 177 阅读 · 0 评论 -
442. 数组中重复的数据
给你一个长度为n的整数数组nums,其中nums的所有整数都在范围[1, n]内,且每个整数出现或。请你找出所有出现的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为O(n)且仅使用常量额外空间的算法解决此问题。原创 2024-08-28 16:07:17 · 614 阅读 · 0 评论 -
680. 验证回文串 II
给你一个字符串s可以从中删除一个字符。请你判断s是否能成为回文字符串:如果能,返回true;否则,返回false。原创 2024-08-28 14:25:39 · 124 阅读 · 0 评论 -
426. 将二叉搜索树转化为排序的双向链表
将一个就地转化为一个。对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。特别地,我们希望可以完成转换操作。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继。还需要返回链表中最小元素的指针。[0, 2000]原创 2024-08-28 13:13:13 · 173 阅读 · 0 评论 -
503. 下一个更大元素 II
给定一个循环数组nums的下一个元素是nums[0]),返回 nums中每个元素的。数字x的是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。原创 2024-08-28 12:47:39 · 144 阅读 · 0 评论 -
120. 三角形最小路径和
给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。在这里指的是与相同或者等于的两个结点。也就是说,如果正位于当前行的下标i,那么下一步可以移动到下一行的下标i或i + 1。原创 2024-08-28 11:48:41 · 268 阅读 · 0 评论