小于 1 分钟
📝 题目描述
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2,请找出并返回这两个正序数组的 中位数。要求算法的时间复杂度为 O(log(m+n))。
📌 示例
示例 1
输入:
nums1 = [1,3], nums2 = [2]
大约 4 分钟
📝 题目描述
已知一个长度为 n 的数组,预先按升序排列,经 1 到 n 次旋转后得到输入数组(旋转1次指将数组最后一个元素移到开头)。数组元素互不相同,要求设计时间复杂度为 O(log n) 的算法,找出该数组的最小值。
📌 示例
示例 1
输入:
nums = [3,4,5,1,2]
大约 3 分钟
📝 题目描述
给你一个满足以下两个属性的 m x n 整数矩阵:
- 每行的整数从左到右按非严格递增排列;
- 每一行的第一个整数大于前一行的最后一个整数。
给你一个整数 target,如果 target 在矩阵中,返回 true;否则,返回 false。
📌 示例
示例 1
输入:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
大约 3 分钟
📝 题目描述
给定一个无重复元素的升序排列数组 nums 和一个目标值 target,在数组中找到目标值并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
要求:必须使用时间复杂度为 O(log n) 的算法。
📌 示例
示例 1
输入:
nums = [1,3,5,6], target = 5
大约 2 分钟
📝 题目描述
整数数组 nums 按升序排列,在传递给函数前,在某个下标 k 处进行了向左旋转(旋转后数组为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]])。数组元素互不相同,给定旋转后的数组和目标值 target,要求设计时间复杂度为 O(log n) 的算法,返回 target 在数组中的下标;若不存在则返回 -1。
大约 3 分钟
📝 题目描述
给你一个整数数组 nums,请你返回其中 最长严格递增子序列 的长度。
子序列并不要求连续,只要保持相对顺序即可。
例如:
[3,6,2,7]是[3,6,2,7]的子序列[3,6,7]也是,因为只移除 2 即可
📌 示例
示例 1
输入:
nums = [10,9,2,5,3,7,101,18]
大约 2 分钟
