• 田忌赛马


    将⻬王和⽥忌的⻢按照战⽃⼒排序,然后按照排名⼀⼀对⽐。如果⽥忌的⻢能赢,那就⽐赛,如果赢不了, 那就换个垫底的来送⼈头,保存实⼒。

    int n = nums1.length;
    sort(nums1); // ⽥忌的⻢
    sort(nums2); // ⻬王的⻢
    // 从最快的⻢开始⽐
    for (int i = n - 1; i >= 0; i--) {
     if (nums1[i] > nums2[i]) {
     // ⽐得过,跟他⽐
     } else {
    // ⽐不过,换个垫底的来送⼈头
     }
    }

     实例,力扣870题:

    func advantageCount(nums1 []int, nums2 []int) []int {
        sort.Ints(nums1)
        p:=make([]pair,len(nums2))
        for i:=0;i<len(nums2);i++{
            p[i].index=i
            p[i].value=nums2[i]
        }
        sort.Sort(pairs(p))
        i,j:=len(nums1)-1,len(nums1)-1
        res:=make([]int,len(nums1))
        count:=0
        for j>-1{
            if nums1[i]>p[j].value{
                res[p[j].index]=nums1[i]
                i--
            }else{
                res[p[j].index]=nums1[count]
                count++
            }
            j--
        }
        return res
    }
    
    type pair struct{
        index int
        value int
    }
    
    type pairs []pair 
    
    func (t pairs) Len() int { 
        return len(t)
    }
    func (t pairs) Swap(i, j int){ 
        t[i], t[j] = t[j], t[i]
    }
    func (t pairs) Less(i, j int) bool { 
        return t[j].value > t[i].value 
    }
    

      

  • 相关阅读:
    springboot自定义jar打包不能导入到项目中
    ajax上传文件+传json数据
    cooladmin vitevue3 打包部署 nginx代理设置
    istio 安装
    logging
    orm 多对多
    shell 多线程
    舒服的jenkins子节点
    phpfpm coredump
    drf 自定义异常
  • 原文地址:https://www.cnblogs.com/mango1997/p/16018831.html
Copyright © 2020-2023  润新知