Merge pull request #510 from X-shuffle/master

增加0455.分发饼干 go版本
This commit is contained in:
程序员Carl
2021-07-24 15:04:39 +08:00
committed by GitHub
3 changed files with 68 additions and 1 deletions

View File

@ -188,7 +188,40 @@ class Solution:
```
Go
```golang
//贪心算法
func maxProfit(prices []int) int {
var sum int
for i := 1; i < len(prices); i++ {
// 累加每次大于0的交易
if prices[i]-prices[i-1] > 0 {
sum += prices[i]-prices[i-1]
}
}
return sum
}
```
```golang
//确定售卖点
func maxProfit(prices []int) int {
var result,buy int
prices=append(prices,0)//在price末尾加个0防止price一直递增
/**
思路:检查后一个元素是否大于当前元素,如果小于,则表明这是一个售卖点,当前元素的值减去购买时候的值
如果不小于,说明后面有更好的售卖点,
**/
for i:=0;i<len(prices)-1;i++{
if prices[i]>prices[i+1]{
result+=prices[i]-prices[buy]
buy=i+1
}else if prices[buy]>prices[i]{//更改最低购买点
buy=i
}
}
return result
}
```
Javascript:
```Javascript

View File

@ -151,7 +151,24 @@ class Solution:
```
Go
```golang
func wiggleMaxLength(nums []int) int {
var count,preDiff,curDiff int
count=1
if len(nums)<2{
return count
}
for i:=0;i<len(nums)-1;i++{
curDiff=nums[i+1]-nums[i]
//如果有正有负则更新下标值||或者只有前一个元素为0针对两个不等元素的序列也视作摆动序列且摆动长度为2
if (curDiff > 0 && preDiff <= 0) || (preDiff >= 0 && curDiff < 0){
preDiff=curDiff
count++
}
}
return count
}
```
Javascript:
```Javascript

View File

@ -146,6 +146,23 @@ class Solution:
return res
```
Go
```golang
//排序后,局部最优
func findContentChildren(g []int, s []int) int {
sort.Ints(g)
sort.Ints(s)
// 从小到大
child := 0
for sIdx := 0; child < len(g) && sIdx < len(s); sIdx++ {
if s[sIdx] >= g[child] {//如果饼干的大小大于或等于孩子的为空则给与,否则不给予,继续寻找选一个饼干是否符合
child++
}
}
return child
}
Javascript:
```Javascript