首页 > 试题广场 >

小红的最小三角形周长

[编程题]小红的最小三角形周长
  • 热度指数:941 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红拿到了一个数组,她希望取其中的三个数,使得以这三个数为边长的三角形周长尽可能小。你能帮帮她吗?


数据范围 ,
注意:输入数据中保证至少能形成一个三角形

示例1

输入

[2,8,4,11,9]

输出

19
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums int整型一维数组 
 * @param numsLen int nums数组长度
 * @return int整型
 */
 int cnp(const void* a,const void *b)
 {
    return *(int *)a-*(int *)b;
 }
int hongstriangle(int* nums, int numsLen ) {
    // write code here
    qsort(nums,numsLen,sizeof(int),cnp);
    int left;
    int mid;
    int right;
    //int max=0;
    if(numsLen<3)
       return -1;
    else{
        for(right=2;right<numsLen;right++){
              for(left=0;left<right-1;left++){
                for(mid=left+1;mid<right;mid++){
                    if(nums[left]+nums[mid]>nums[right])
                         return nums[left]+nums[mid]+nums[right];
                }
              }
        }
        
    }
    return -1;

}

发表于 2023-01-08 20:12:33 回复(0)

问题信息

难度:
1条回答 2458浏览

热门推荐

通过挑战的用户

查看代码