美文网首页
合法的三角数

合法的三角数

作者: AustinWeii | 来源:发表于2018-11-24 23:58 被阅读0次

给定一个包含非负整数的数组,你的任务是计算从数组中选出的可以制作三角形的三元组数目,如果我们把它们作为三角形的边长。

样例
输入: [2,2,3,4]
输出: 3
解释:
合法的组合如下:
2,3,4 (使用第一个 2)
2,3,4 (使用第二个 2)
2,2,3
注意事项
给定数组的长度不会超过 1000.
给定数组内的整数在 [0, 1000]内

我的答案:

 * @param nums: the given array
 * @return:  the number of triplets chosen from the array that can make triangles
 */
const triangleNumber = function (nums) {
    // Write your code here
    if(nums.length<3) return 0;
    nums=nums.sort();
    var count=0;
    for(var i=0;i<nums.length-2;i++){
        for(var m=i+1;m<nums.length-1;m++){
            var n=nums.length-1;
            while(m<n){
                //第一个数字a,第二个数字b,第三个数字c;当a+b>c成立时候,移动b的位置获得的数字都肯定大于等于b,所以a+b>c一定成立
                if(nums[i]+nums[m]>nums[n]){
                    count+=n-m;
                    break;
                }else{
                    n--;
                }
            }
        }
    }
    return count;
    
}



相关文章

  • 合法的三角数

    给定一个包含非负整数的数组,你的任务是计算从数组中选出的可以制作三角形的三元组数目,如果我们把它们作为三角形的边长...

  • 算法题记录

    准备面试时搜的题目 给定一个数字,给出所有合法的()组合。答:是卡特兰数。参考【卡特兰数】有N对括号,输出所有合法的组合

  • JS JavaScript实现杨辉三角

    JS JavaScript实现杨辉三角 观察这样的一组数,找出规律,用控制台输出这样规律的数 规律: 这是杨辉三角...

  • 判断数独是否合法

  • LintCode 最大的交换数

    题目给定一个非负整数,你可以交换两个数位至多一次来获得最大的合法的数。返回最大的合法的你能够获得的数。 第一版:最...

  • 数形结合法求值域

    概述 WIKI 1 2 3 4 绝对值函数的值域 解析式具有某个公式形式的函数的值域 WIKI 1 2 根式型函数...

  • 1095.最大的交换

    Description给定一个非负整数,你可以交换两个数位至多一次来获得最大的合法的数。返回最大的合法的你能够获得...

  • 麦肯锡意识

    麦肯锡金三角: 分析: 构建 设计 整合 解释 汇报: 结构 认可 管理: 团队 客户 自我 三角内部:直觉~ 数...

  • Flutter学习笔记4-dart:math

    引用 三角学 比大小 常量 随机数

  • 队列杨辉三角

    杨辉三角 杨辉三角的特点是,两腰都是1,中间的数=上面两个数之和。 使用队列思想实现杨辉三角的流程 首先,需要初始...

网友评论

      本文标题:合法的三角数

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