js编程小练习2 の 牛客

Posted 艳阳天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js编程小练习2 の 牛客相关的知识,希望对你有一定的参考价值。

1-

 

function DNAstr(s){  //看出bug请指出
    if(s.length>=1&&s.length<=50){
        var rege=/^[A-Z]+$/g;
        if(rege.exec(s)){
            var reg=/[ATCG]{1,}/g;
            var tmp= s.match(reg);
            var lens=[];
            var max=0;
            for(var key in tmp){
                lens.push( tmp[key].length);
            }
            for(var key in lens){
                if(lens[key] > max){
                    max = lens[key];
                }
            }
            return max;
        }
    }
}
var s="TARCAT";
console.log(DNAstr(s));

 

function isParam(ch){
    return ch == \'A\' || ch == \'T\' || ch == \'C\' || ch == \'G\';
}
function DNAStr(str){
    var i  = 0;
    var maxlen = 0;
    var maxSr = "";
    while(i < sttr.length){
        var len = 0;
        if(isParam(str[i])){
            while(i<str.length && isParam(str[i])) {i++;len++;}
        }else {
            i++;
        }
        if(maxlen < len){
            maxlen = len;
            maxStr = str.slice(i - len, i);
        }
    }
    console.log(maxStr);
    return maxlen;
}
console.log(DNAStr("TARACTGACTGHT"));

 

 

2-

 

function isSame(str){  //判断是否偶串
    var begin = 0
    var end = str.length /2
    while(end < str.length && str[begin] == str[end] ){
        begin++
        end++
    }
    if( end == str.length  ){
        return true
    }
    return false
}
function  isOString(str){  //从末尾删除若干个字符后,判断是否还是偶串
    var max = 0
    if(str.length <= 1){
        return str.length
    }
    while(str.length >=2 ){
        str = str.slice(0,str.length- 2)
        if(isSame(str)){  //调用偶串判断方法
            return str.length
        }
    }
    return 0
}
console.log(isOString("abaababaab"))

 

 

3-

 

function reverseStr(str){ //回文串
    var mp={};
    for(var key in str){
        if(!mp[str[key]]){
            mp[str[key]]=1;
        }else{
            mp[str[key]]++;
        }
    }
    var odd=0;//mp中字符个数为奇数的个数
    for(var key in mp){
        if(mp[key]%2!=0){
            odd++;
        }
    }
    return odd ? odd : 1;
}
console.log(reverseStr("abbaa"));//1
console.log(reverseStr("abc"));//3
console.log(reverseStr("abcabc"));//1

 

ps:看出bug的帮忙指出,谢

 

以上是关于js编程小练习2 の 牛客的主要内容,如果未能解决你的问题,请参考以下文章

js牛客网编程练习汇总

SQL小练习---牛客刷题

Jsの练习-数组常用方法 -splice()

JavaScript专项练习1 [牛客]

Jsの数组练习-求一组数中的最大值和最小值,以及所在位置

给编程学习者的一些忠告以及牛客网初阶练习