随笔分类 -  leetcode

上一页 1 2 3 4 5 6 ··· 12 下一页
摘要:给你一个整数数组 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 阅读(4) 评论(0) 推荐(0) 编辑
摘要:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 阅读全文
posted @ 2023-10-20 14:44 xiazichengxi 阅读(11) 评论(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 阅读(44) 评论(0) 推荐(0) 编辑
摘要:给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums = [3,2,3] 输出:3 思路 本题常见的三种解法: 哈希表统计法: 遍历数组 nums 阅读全文
posted @ 2023-10-18 14:34 xiazichengxi 阅读(64) 评论(0) 推荐(0) 编辑
摘要:给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入:nums = [2,2,1] 输出:1 思路 异或性质: (1)0⊕0=0,0⊕ 阅读全文
posted @ 2023-10-18 13:58 xiazichengxi 阅读(12) 评论(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 阅读(8) 评论(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 阅读(15) 评论(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 阅读(28) 评论(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) 编辑

上一页 1 2 3 4 5 6 ··· 12 下一页
点击右上角即可分享
微信分享提示
主题色彩