Java教程

第一次独立完成的算法

本文主要是介绍第一次独立完成的算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.封装一个函数,给定一个字符串数组var arr = ["com", "briup.com", "cn", "briup.com.cn", "http://www"],输出最长的字符串元素对应的索引和字符串值。

function getIndex(arr){
    var arr2=new Array(arr.length);
    for(var i=0;i<arr.length;i++){
        arr2[i]=(arr[i].length);
    }
    var max=arr2[0];
    for(var i=1;i<arr2.length;i++){
        var index;
        if(arr2[i]>max){
            max=arr2[i];
            index=i;
        }
        if(i==arr2.length-1){
            console.log("其中最长的字符的长度为:"+max);
            console.log("最长的字符串是:"+arr[index]);
            return index;
        }
    }
}
var arr =new Array("com", "briup.com", "cn", "briup.com.cn", "http://www");
var index=getIndex(arr);
console.log("最长字符串的索引是:"+index);

2.封装一个函数,给定一个字符串,输出出现最多次的那个字符和索引。

function getSt(str){
    var temp={};
    for(var i=0;i<str.length;i++){
        var k=str.charAt(i);
        if(!temp[k]){
            temp[k]=1;
        }else{
            temp[k]++;
        }
    }
     var ch,max=0;
    for(var i in temp){
        if(max<temp[i]){
            max=temp[i];
            ch=i;
        }
    }
    console.log("出现的最多的字符是:"+ch);
    console.log("出现的次数最多是"+max);
    console.log("出现最多的字符的索引是:"+str.indexOf(ch));
}
var str=new String("2bbbdjdjxbjxsnnnn");
getSt(str);

3.封装一个函数,判断n是否是幸运数字

幸运数:length为偶数,并且前一半的和等于后一半的和。例如:isLucky(1230)=true

function islucky(num){
        var array=num.toString().split("");
        if(array.length%2==0){
            var sum1=0;
            var sum2=0;
            for(var i=0;i<array.length/2;i++){
            sum1+=Number(array[i]);
        }
        for(var j=array.length/2;j<array.length;j++){
            sum2+=Number(array[j]);
        }
        if(sum1==sum2){
            return true;
        }else{
            return false;
        }
    } else{ 
            return false;
        }
}
console.log(islucky(1230));

这篇关于第一次独立完成的算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!