2022-02-26-27 2016. 增量元素之间的最大差值

day26-27
送分题:
Go版本:

func maximumDifference(nums []int) int {

    // 巧妙的没法排序解决了
    max:=0
    // 暴力 O(n*n)
    // for i:=0;imax{
    //                 max=nums[j]-nums[i]

    //             }

    //         }

    // }
  
    // 右边最大减去左边最小
   min:=nums[0]
     for i:=0;imin && nums[i]-min>max{
          max=nums[i]-min
         }
         if nums[i]

553. 最优除法

Go版本:

import (
 "strconv"
 )
func optimalDivision(nums []int) string {
    // 不用排序
     // 看到第一组例子
    // 个人感觉是 第一个 除以后面的最小就行了
   
    s:=""
    if len(nums)<2{
        return  strconv.Itoa(nums[0])
    }

    for i:=0;i2{
            s+="("
        }

         if len(nums)>2 && i==len(nums)-1{
             s=s[:len(s)-1]
            s+=")"
        }
    }
    if s[len(s)-1]=='/'{
        s=s[:len(s)-1]
    }
    return s;
}

剑指 Offer II 036. 后缀表达式

Go版本:

import (
    "strconv"
)
func evalRPN(tokens []string) int {

    stack:=[]int{}
    // visitsd:=0
    res:=0
    if len(tokens)==1{
              val,_:=strconv.Atoi(tokens[0])
              return val

    }

    for _,value:=range tokens{
        
        // 题目当中有效计算表达式 ,不考虑健壮性
      if value=="+" || value=="-" || value=="*" || value== "/"{
             
        res=Calulate(stack[len(stack)-2],stack[len(stack)-1],value)
         stack=stack[:len(stack)-2]
         stack=append(stack,res)
         continue;
       
      }else{
          val,_:=strconv.Atoi(value)
     stack=append(stack,val);
      }
     

    }
    return res;

}

func Calulate(num1 int,num2 int,cal string)int{
    if cal=="+"{
        return num1+num2;
    }
    if cal=="-"{
        return num1-num2;
    }
    if cal=="*"{
        return num1*num2;
    }
    if cal=="/"{
        return int(num1/num2);
    }

    return 0;

}

你可能感兴趣的:(2022-02-26-27 2016. 增量元素之间的最大差值)