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

97 阅读1分钟

一、最少操作使数组递增

题目地址:

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
}

文章同:

CSDN博主「大熊的饲养员」 原文链接:blog.csdn.net/m0_51530927…