网站突然找不到了 然后降权重 排名不变,一个电商网站开发要多久,福田所有车型,百度2019旧版本下载1、977. 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums#xff0c;返回 每个数字的平方 组成的新数组#xff0c;要求也按 非递减顺序 排序。 输入#xff1a;nums [-4,-1,0,3,10] 输出#xff1a;[0,1,9,16,100]
思路#xff1a;
这题思路在于——双指针…1、977. 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums返回 每个数字的平方 组成的新数组要求也按 非递减顺序 排序。 输入nums [-4,-1,0,3,10] 输出[0,1,9,16,100]
思路
这题思路在于——双指针思想
简单说就是双指针左右指针指最外边谁大放最后边注意条件ij因为这个元素也要算加入新数组
// 代码一刷----双指针
func sortedSquares(nums []int) []int {res : make([]int, len(nums))k : len(nums)-1for i,j : 0, len(nums)-1; ij; {if nums[i]*nums[i] nums[j]*nums[j] {res[k] nums[i]*nums[i]ik--} else {res[k] nums[j]*nums[j]j--k--}}return res
}2、209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] 并返回其长度。如果不存在符合条件的子数组返回 0 。 输入target 7, nums [2,3,1,2,4,3] 输出2 解释子数组 [4,3] 是该条件下的长度最小的子数组。
思路
滑动窗口但本质还是双指针法j 代表的是终止位置一旦 sumtarget 就记录最小长度并把起始位置前移一位
// 代码一刷——双指针——滑动窗口思想
func minSubArrayLen(target int, nums []int) int {res,sum : 10000000, 0for i,j : 0,0; jlen(nums); j {sum nums[j]for sum target {res min(res, j-i1)sum - nums[i]i}}if res 10000000 {return 0}return res
}
func min(a,b int) int { if ab {return b}; return a }3、59. 螺旋矩阵 II
给你一个正整数 n 生成一个包含 1 到 n2 所有元素且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 输入n 3 输出[[1,2,3],[8,9,4],[7,6,5]]
思路
这题就是模拟判断边界条件注意左闭右开法则保持统一性即可循环次数就是 n/2如果 n 是奇数就要 center 一下这次写忘了 i, j : startx, starty 放在循环里边除了 res 外初始化五个变量,startx,y,offset,count,center
// 代码一刷循环不变狼——左闭右开规则
func generateMatrix(n int) [][]int {res : make([][]int, n)for i:0; in; i {res[i] make([]int, n)}startx,starty : 0,0offset, count : 1,1center : n/2// 开始算法for k:0; kn/2; k {i, j : startx, startyfor ;jn-offset; j {res[startx][j] countcount}for ;in-offset; i {res[i][j] countcount}for ; jstartx ; j-- {res[i][j] countcount}for ; istarty ; i-- {res[i][j] countcount}offsetstartxstarty}if n%2 ! 0 {res[center][center] count}return res
}