力扣数组题目
简单题,利用双指针左右遍历,注意右指针要大于左指针的结束位置,时间复杂度O(N),空间复杂度为常数
想要用字典统计每个元素出现的次数时,可以用collections模块的Counter()方法,找最大值可以用most_common()方法,这个题最快的方法是投票法,思想是出现最多的数与其它的数进行抵消,最后留下来的一定是出现次数超过一半的众数
3 48. 旋转图像
利用观察归纳可以写出四个旋转点的坐标,注意奇数和偶数的不同,通过画图可以观察出旋转区域,当为偶数时,旋转区域为正方形,当为奇数时,旋转区域为矩形,
注意这道题里用的是让数和索引相对应的方法,如果对上了不用管,如果没对上且该数应该放置的地方也没对上,这交换位置,直到对不上为止,注意下面赋值的方法,不可交换,如果交换了是错误的,
nums[nums[i]-1], nums[i] = nums[i], nums[nums[i]-1]
同上题一样的方法,仍是让数和索引对应起来,如果不对应则交换,直到无法交换为止,
同448一样,只是第二遍遍历时,存储的数不一样,
先用暴力方法进行求解,再进行优化,