小红拿到了一个数组,她希望取其中的三个数,使得以这三个数为边长的三角形周长尽可能小。你能帮帮她吗?
数据范围 ,
注意:输入数据中保证至少能形成一个三角形
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @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; }