摘要: 双指针:Left和Right,将左指针的零与右指针的非零数交换,且非零数的相对顺序并未改变。 1 def movezeros(nums): 2 n = len(nums) 3 left = right =0 4 while right<n: 5 if nums[right] != 0: 6 nums 阅读全文
posted @ 2022-10-09 09:19 努力中的小菜鸟 阅读(22) 评论(0) 推荐(0)
摘要: 三种情况: 1、nums=[4,2,5],nums[i]<nums[i-1],此时只需要改变nums[i-1],[1,2,5] 2、nums=[1,4,2,5],i>.1,nums[i]<nums[i-1],此时调整nums[i-1],满足nums[i-2]<=nums[i-1]<=nums[i], 阅读全文
posted @ 2022-10-08 14:25 努力中的小菜鸟 阅读(21) 评论(0) 推荐(0)
摘要: 思路:题目说只需要找出让数组所有元素相等的最小操作次数,所以不需要考虑数组中各个元素的绝对大小,即不需要真正算出数组中所有元素相等时的元素值,只需要考虑数组中元素相对大小的变化即可。 因此,每次操作既可以理解为使 n-1个元素增加 1,也可以理解使 1 个元素减少 1。显然,后者更利于计算。 于是, 阅读全文
posted @ 2022-10-08 10:51 努力中的小菜鸟 阅读(36) 评论(0) 推荐(0)
摘要: 1 def hIndex(citations): 2 citations.sort() 3 n = len(citations) 4 index = 0 5 while index < n: 6 if n - index <= citations[index]: 7 break 8 index += 阅读全文
posted @ 2022-10-08 10:00 努力中的小菜鸟 阅读(38) 评论(0) 推荐(0)
摘要: 说实话感觉题目看了好几遍才懂这个意思,然后看了题解,觉得解法真的很厉害。 假设数组长度为N,那么没有出现的整数一定是在[1,N+1]中。如果[1,N]都出现了,那没有出现的正整数就是N+1。 1、将数组中所有小于等于0以及大于数组长度N的数都改为N+1; 2、遍历数组中的数,可能有的数被打了标记。如 阅读全文
posted @ 2022-09-30 09:34 努力中的小菜鸟 阅读(31) 评论(0) 推荐(0)
摘要: 方法1:原地修改数组 1 ans = [] 2 for num in nums: 3 if nums[abs(num) - 1] < 0: 4 ans.append(abs(num)) 5 nums[abs(num) - 1] *= - 1 6 return ans 方法2:添加偏置量 1 res 阅读全文
posted @ 2022-09-29 16:17 努力中的小菜鸟 阅读(17) 评论(0) 推荐(0)
摘要: 方法1: 1 counter = set(nums) 2 N = len(nums) 3 res = [] 4 for i in range(1,N+1): 5 if i not in counter: 6 res.append(i) 7 return res 方法2:原地修改数组(这个想法有些厉害 阅读全文
posted @ 2022-09-29 15:28 努力中的小菜鸟 阅读(35) 评论(0) 推荐(0)
摘要: 1、找到数组的度 2、找到与nums相同度的最短连续子数组 使用三个字典,left用于记录每个元素在数组中第一次出现的位置,right用于记录每个元素在数组中最后一次出现的位置,counter用于记录每个元素在数组中出现的次数。 1 def findShortestSubArray(nums): 2 阅读全文
posted @ 2022-09-29 14:51 努力中的小菜鸟 阅读(19) 评论(0) 推荐(0)
摘要: n1 = sum(nums) - sum(set(nums)) n2 = sum(range(len(nums)+1)-sum(set(sums)) return [n1,n2] 阅读全文
posted @ 2022-09-29 10:19 努力中的小菜鸟 阅读(16) 评论(0) 推荐(0)
摘要: 有以下几种情况: 1、全是正数 2、全是负数 3、有正有负,则最大乘积既可能是三个最大正数的乘积,也可能是两个最小负数(即绝对值最大)与最大正数的乘积。 这个时候找出数列中最大的三个数和最小的两个数,最后在三个最大的数乘积和第一个最大的数和最小的两个数乘积中进行比较,选择最大的那个。 初始将最大的三 阅读全文
posted @ 2022-09-29 09:42 努力中的小菜鸟 阅读(76) 评论(0) 推荐(0)