zoukankan      html  css  js  c++  java
  • 巧克力棒分割

    1.题目(如图)

    2.js实现

    function cho(arr){
        
        //存分的两段的值
        var x = [];
        var y = [];
        var flag = false;
        
        //存个数
        var num = 0;
        //循环每一个值
        for(var i=0;i<arr.length;i++){
            x = [];
            y = [];
            flag = false;
            var arr1 = [].concat(arr);
            //这一步循环是指把一个数值分成两段的所有情况
            for(var j=1;j<arr[i]-j;j++){
                x.push(j);
                y.push(arr[i]-j);
            }
            arr1.splice(i,1);
            //根据其中一段去做判断
            //原数组不存在这两段,且这两段不相等,且除这两段外原数组没有重复项,则标记为true
            for(var z = 0;z<x.length;z++){
                if(arr.indexOf(x[z])<0&&arr.indexOf(y[z])<0&&x[z]!=y[z]){
                    if(new Set(arr1).size==arr1.length){
                        flag = true;
                        break;
                    }
                }     
            }
            if(flag){
                num+=1;
            }
        }
        return num;
    }
    console.log(cho([5,6,7,8]));
    console.log(cho([5,5]));
    console.log(cho([2,3,4]));
    console.log(cho([2]));
    console.log(cho([5,5,6,6]));
    console.log(cho([6,7,10,10]));
    console.log(cho([6,6,7,7]));
    console.log(cho([6,6,6,7]));
  • 相关阅读:
    加解密工具类(含keystore导出pfx)
    Java使用数字证书加密通信(加解密/加签验签)
    关于javax.crypto.BadPaddingException: Blocktype错误的几种解决方法
    产生定长的随机数
    数字证书生成--加密密/加签验签
    随机指定范围内N个不重复的数
    sql2012还原sql2008备份文件语句
    uploadify API
    海量数据处理分析
    .net经验积累
  • 原文地址:https://www.cnblogs.com/xinyouhunran/p/14923490.html
Copyright © 2011-2022 走看看