一、题目大意标签:搜索https://leetcode.cn/problems/permutations给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例1:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2:输入:nums=[0,1]输出:[[0,1],[1,0]]示例3:输入:nums=[1]输出:[[1]]提示:1-10nums中的所有整数互不相同二、解题思路使用回溯法解决此问题,对于每一个当前位置i,我们可以将其与之后的任意位置交换,然后继续处理位置i+1,
一、题目大意标签:查找https://leetcode.cn/problems/median-of-two-sorted-arrays给定两个大小分别为m和n的正序(从小到大)数组 nums1和 nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=[1,2],nums2=[3,4]输出:2.50000解释:合并数组=[1,2,3,4],中位数(2+3)/2=2.5提示:nums1.length==mnums2.
一、题目大意标签:搜索https://leetcode.cn/problems/permutations给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例1:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2:输入:nums=[0,1]输出:[[0,1],[1,0]]示例3:输入:nums=[1]输出:[[1]]提示:1-10nums中的所有整数互不相同二、解题思路使用回溯法解决此问题,对于每一个当前位置i,我们可以将其与之后的任意位置交换,然后继续处理位置i+1,
一、题目大意标签:查找https://leetcode.cn/problems/median-of-two-sorted-arrays给定两个大小分别为m和n的正序(从小到大)数组 nums1和 nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=[1,2],nums2=[3,4]输出:2.50000解释:合并数组=[1,2,3,4],中位数(2+3)/2=2.5提示:nums1.length==mnums2.
从逻辑结构而言,数组是一种线性表;从存储结构而言,一般认为,数组占用一组连续的内存空间,来存储一组具有相同类型的数据。因此,可以根据合法偏移量寻址,以随机访问数组元素。下面介绍保持相对顺序的数组过滤器相关习题(一般要求只使用常数的额外空间)。如同净水器滤除杂质,算法基本流程如下:顺序遍历数组元素检查是否符合条件2.1符合条件->留下2.2不符合条件->略过遍历读取的过程,像是一个指针挥着衣袖,云彩依然在原地停留。“云彩”是(过滤前的)原始数据,虽然在访问过一次之后就没有利用价值了,但是它们依然无故地霸占着空间,白白地荒废着空间。所以,为何不把这些空间重新利用起来,新陈代谢、变废为宝呢?要想达到
一、题目大意标签:查找https://leetcode.cn/problems/single-element-in-a-sorted-array给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足O(logn)时间复杂度和O(1)空间复杂度。示例1:输入:nums=[1,1,2,3,3,4,4,8,8]输出:2示例2:输入:nums=[3,3,7,7,10,11,11]输出:10提示:10二、解题思路题目中是有序数组,每个元素出现2次,假设数组索引i是偶数,如果nums[i]==nums[i+1],说明那个
一、题目大意标签:查找https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array已知一个长度为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]注意,数组[a[0],a[1],a[2],...,a[n-1]]旋转一次的结果为数组[a[n-1],a[0],a[1],a[2],...,a[n-2]]。给你一个元素值互不相同的数组nums,它原来
一、题目大意标签:查找https://leetcode.cn/problems/search-in-rotated-sorted-array-ii已知存在一个按非降序排列的整数数组nums,数组中的值不必互不相同。在传递给函数之前,nums在预先未知的某个下标k(0给你旋转后的数组nums和一个整数target,请你编写一个函数来判断给定的目标值是否存在于数组中。如果nums中存在这个目标值target,则返回true,否则返回false。你必须尽可能减少整个操作步骤。示例 1:输入:nums=[2,5,6,0,0,1,2],target=0输出:true示例 2:输入:nums=[2,5,6
一、题目大意标签:查找https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回 [-1,-1]。进阶:你可以设计并实现时间复杂度为 O(logn) 的算法解决此问题吗?示例1:输入:nums=[5,7,7,8,8,10],target=8输出:[3,4]示例 2:输入:nums=[5,7,7,8,8,10],target=6输出:[-1
一、题目大意链接:https://leetcode.cn/problems/sort-colors给定一个包含红色、白色和蓝色、共 n个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数0、 1和2分别表示红色、白色和蓝色。必须在不使用库的sort函数的情况下解决这个问题。示例1:输入:nums=[2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例2:输入:nums=[2,0,1]输出:[0,1,2]提示:n==nums.length1nums[i]为0、1或2进阶:你可以不使用代码库中的排序函数来解决这道题吗?你能想出一