zoukankan      html  css  js  c++  java
  • 三角形的最大周长-贪心算法-基于Go

    给定一些正数(代表长度)组成的数组arr,返回由其中三个
    长度组成的面积不为0的三角形的最大周长。

    如果不能组成三角形,返回0.

    • 三角形满足条件:a+b>c且a+c>b且b+c>a
    • 贪心算法
      • 先排序(升序)
      • 从后往前选三个数,看是否满足三角形条件
    package main
    
    import (
    	"fmt"
    	"sort"
    )
    
    func largestPerimeter(nums []int)int{
    	sort.Ints(nums)
    	for i:=len(nums)-1; i>=2; i--{
                    // 不满足则说明nums[i]有点大,要小一些,所以往前找
    		if nums[i-1]+nums[i-2] > nums[i]{
    			return nums[i-1]+nums[i-2]+nums[i]
    		}
    	}
    
    	return 0
    }
    
    func main(){
    	var nums = []int{3,6,2,3}
    	fmt.Println(largestPerimeter(nums))
    }
    
  • 相关阅读:
    添加日志文件
    C库函数对文件的操作
    getpass的使用
    C语言实现 冒泡排序 选择排序 希尔排序
    批量Ping执行Bash脚本
    Script
    echo
    Centos7 pxe
    Rsync 参数
    Ip HostName查询
  • 原文地址:https://www.cnblogs.com/pangqianjin/p/14631651.html
Copyright © 2011-2022 走看看