摘要:
双指针法 题目详情 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例1: 输入:s = "We are happy." 输出:"We%20are%20happy."``` 我的代码: class Solution { public: string replaceSpace(stri 阅读全文
摘要:
题目详情 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库的sort函数的情况下解决这个问题。 示例1: 输入:nums = [2, 阅读全文
摘要:
桶排序 题目详情 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例2: 输入: nums = [1], k = 1 输出: [1] 我 阅读全文
摘要:
快速选择 题目详情 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例2: 输入: [3,2,3,1,2,4,5,5 阅读全文
摘要:
二分查找 题目详情 给定两个大小分别为 m和 n的正序(从小到大)数组 nums1 和nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为O(log (m+n))。 示例1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 阅读全文
摘要:
二分查找 题目详情 **给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1)空间复杂度。 示例1: 输入: nums = [1,1,2,3,3,4,4,8,8] 输出 阅读全文
摘要:
二分查找 题目详情 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4] 若旋转 7 次,则可以得到 [0,1,4,4,5 阅读全文
摘要:
二分查找 题目详情 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k <nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums 阅读全文
摘要:
贪心算法 题目详情 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3 阅读全文
摘要:
二分查找 题目详情 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。 示例1: 输入:nums = [5,7,7,8,8,10], target = 8 输出:[3,4] 阅读全文