移除元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
func removeElement(nums []int, val int) int { slow:=0 for fast:=0;fast<len(nums);fast++{ if nums[fast]==val{ continue } nums[slow]=nums[fast] slow++ } return slow }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
func removeElement(nums []int, val int) int { left,right:=0,len(nums)-1 for left<right{ if nums[left]==val{ nums[left]=nums[right] right-- }else{ left++ } } return left }
|
力扣 LeetCode844. 比较含退格的字符串 - 力扣(LeetCode)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
func backspaceCompare(s, t string) bool { skipS, skipT := 0, 0 i, j := len(s)-1, len(t)-1 for i >= 0 || j >= 0 { for i >= 0 { if s[i] == '#' { skipS++ i-- } else if skipS > 0 { skipS-- i-- } else { break } } for j >= 0 { if t[j] == '#' { skipT++ j-- } else if skipT > 0 { skipT-- j-- } else { break } } if i >= 0 && j >= 0 { if s[i] != t[j] { return false } } else if i >= 0 || j >= 0 { return false } i-- j-- } return true }
|
有序数组的平方
1 2 3 4 5 6 7 8 9 10 11
|
func sortedSquares(nums []int) []int { for i,v:=range nums{ nums[i]*=v } sort.Ints(nums) return nums }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
func sortedSquares(nums []int) []int { left,right,n:=0,len(nums)-1,len(nums)-1; ans:=make([]int,5,5) for left<=right{ if nums[left]*nums[left]<nums[right]*nums[right]{ ans[n]=nums[right]*nums[right] right-- }else{ ans[n]=nums[left]*nums[left] left++ } n-- } return ans }
|