10 2023 档案

摘要:给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。 阅读全文
posted @ 2023-10-31 15:42 xiazichengxi 阅读(32) 评论(0) 推荐(0) 编辑
摘要:给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:haystack = "sadbutsad", nee 阅读全文
posted @ 2023-10-30 19:46 xiazichengxi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:" 阅读全文
posted @ 2023-10-30 16:42 xiazichengxi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单 阅读全文
posted @ 2023-10-27 16:57 xiazichengxi 阅读(4) 评论(0) 推荐(0) 编辑
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 代码 1.为空,res = "",不为空,res = strs[0]; 2.开始遍历 3.s.find(re 阅读全文
posted @ 2023-10-26 17:08 xiazichengxi 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”,长度为5 代码 class Solut 阅读全文
posted @ 2023-10-26 17:07 xiazichengxi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V 阅读全文
posted @ 2023-10-26 11:11 xiazichengxi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + 阅读全文
posted @ 2023-10-25 16:34 xiazichengxi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。 那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1: 输入: [1 阅读全文
posted @ 2023-10-25 15:29 xiazichengxi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返 阅读全文
posted @ 2023-10-24 19:29 xiazichengxi 阅读(29) 评论(0) 推荐(0) 编辑
摘要:实现RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象 bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。 bool remove(int val) 当元素 va 阅读全文
posted @ 2023-10-24 18:35 xiazichengxi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h 次 阅读全文
posted @ 2023-10-23 14:04 xiazichengxi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 输入:nums = [1,1,1,2,2,3] 输出:5, n 阅读全文
posted @ 2023-10-21 14:22 xiazichengxi 阅读(4) 评论(0) 推荐(0) 编辑
摘要:给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数组 n 阅读全文
posted @ 2023-10-21 14:22 xiazichengxi 阅读(36) 评论(0) 推荐(0) 编辑
摘要:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 输入:nums = [3,2,2,3] 阅读全文
posted @ 2023-10-20 15:00 xiazichengxi 阅读(3) 评论(0) 推荐(0) 编辑
摘要:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 阅读全文
posted @ 2023-10-20 14:44 xiazichengxi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。 示例 1: 输入 阅读全文
posted @ 2023-10-19 14:47 xiazichengxi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下解决这个问题。 示例 1: 输入:nums = [2, 阅读全文
posted @ 2023-10-19 13:48 xiazichengxi 阅读(43) 评论(0) 推荐(0) 编辑
摘要:给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums = [3,2,3] 输出:3 思路 本题常见的三种解法: 哈希表统计法: 遍历数组 nums 阅读全文
posted @ 2023-10-18 14:34 xiazichengxi 阅读(61) 评论(0) 推荐(0) 编辑
摘要:给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入:nums = [2,2,1] 输出:1 思路 异或性质: (1)0⊕0=0,0⊕ 阅读全文
posted @ 2023-10-18 13:58 xiazichengxi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例 1: 输入:s = "(()" 输出:2 解释:最长有效括号子串是 "()" 思路 class Solution { public: int longestValidParentheses(strin 阅读全文
posted @ 2023-10-16 12:53 xiazichengxi 阅读(5) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 子数组 是数组的连续子序列。 示例 1: 输入: nums = [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最 阅读全文
posted @ 2023-10-12 13:09 xiazichengxi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 输入: s = "leetcode", wordDict = ["leet", "code"] 输出: tru 阅读全文
posted @ 2023-10-11 15:06 xiazichengxi 阅读(21) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 代码 class Solutio 阅读全文
posted @ 2023-10-10 12:16 xiazichengxi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr = [2,3,4] 的中位数是 3 。 例如 arr = [2,3] 的中位数是 (2 + 3) / 2 = 2.5 。 实现 MedianFinder 类: MedianFinder() 阅读全文
posted @ 2023-10-08 14:45 xiazichengxi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,6,4], k = 2 输出: 5 代码 cl 阅读全文
posted @ 2023-10-08 13:12 xiazichengxi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此外,你 阅读全文
posted @ 2023-10-07 11:37 xiazichengxi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞ 。 你必须实现时间复杂度为 O(log n) 的算法来解决此问题。 示例 1: 输入:nums = [1,2,3, 阅读全文
posted @ 2023-10-03 22:09 xiazichengxi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆栈顶部的元 阅读全文
posted @ 2023-10-03 14:05 xiazichengxi 阅读(1) 评论(0) 推荐(0) 编辑
摘要:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1 阅读全文
posted @ 2023-10-02 16:52 xiazichengxi 阅读(25) 评论(0) 推荐(0) 编辑
摘要:已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 注意,数 阅读全文
posted @ 2023-10-02 14:45 xiazichengxi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., 阅读全文
posted @ 2023-10-01 15:55 xiazichengxi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1: 输入:nums = [5,7, 阅读全文
posted @ 2023-10-01 14:53 xiazichengxi 阅读(3) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩