go语言实现两道简单算法题

  • Post author:
  • Post category:其他


一、

最少操作使数组递增

题目地址:


​​​力扣

go语言实现代码:

package main
func minOperations(nums []int) int {
	//方法一
	//if len(nums)==1 {
	//	return 0
	//}
	//sum:=0
	//for i := 0; i+1 < len(nums); i++ {
	//	for nums[i]>=nums[i+1] {
	//		nums[i+1]++
	//		sum++
	//	}
	//}
	//return sum

	//方法二
	res:=0
	for i := 1; i < len(nums); i++ {
		if nums[i]<=nums[i-1] {
			res+=nums[i-1]+1-nums[i]
			nums[i]=nums[i-1]+1
		}
	}
	return res
}

二、

最富有客户的资产总量

题目地址:

力扣

go语言实现代码:

package main


//方法一
func maximumWealth(accounts [][]int) int {
	res:=0
	for i := 0; i < len(accounts); i++ {
		sum:=0

		for j := 0; j < len(accounts[i]); j++ {
			sum+=accounts[i][j]
		}
		if res <sum {
			res = sum
			continue
		}
	}
	return res
}
//方法二
func maximumWealth2(accounts [][]int) int {

	res:=0
	for _, account := range accounts {
		sum:=0
		for _, val := range account {
			sum+=val
		}
		if res<sum {
			res=sum
		}
	}
	return res
}



版权声明:本文为m0_51530927原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。