美文网首页
2022-02-26-27 2016. 增量元素之间的最大差值

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

作者: 16孙一凡通工 | 来源:发表于2022-02-27 15:18 被阅读0次

day26-27
送分题:
Go版本:

func maximumDifference(nums []int) int {

    // 巧妙的没法排序解决了
    max:=0
    // 暴力 O(n*n)
    // for i:=0;i<len(nums);i++{
    //         for j:=i+1;j<len(nums);j++{
    //             if nums[i]<nums[j] && nums[j]-nums[i]>max{
    //                 max=nums[j]-nums[i]

    //             }

    //         }

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

     }
    if max==0{
        return -1
    }
    return max

}

553. 最优除法

Go版本:

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

    for i:=0;i<len(nums);i++{
        value:=strconv.Itoa(nums[i])
        s+=value;
       
        s+="/"
         if i==0 && len(nums)>2{
            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. 增量元素之间的最大差值

      本文链接:https://www.haomeiwen.com/subject/tmrqrrtx.html