zoukankan      html  css  js  c++  java
  • Js基础算法题

    1、字符串翻转

     1 要求:先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串
     2 
     3 function reverseString(str) {
     4   str=str.split('').reverse().join('');
     5   return str;
     6 }
     7 reverseString("hello");
     8 //split方法把字符串转换成数组
     9 //reverse方法翻转数组顺序
    10 //join 方法来把数组转换成字符串

    2、如果给定的字符串是回文,返回true,反之,返回false

     1 如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是回文。
     2 需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。
     3 
     4 function test(str) {
     5   astr=str.replace(/[^0-9A-Za-z]/g,'').toLowerCase();
     6   bstr=astr.split("").reverse().join("");
     7   if(astr===bstr){
     8     return true;
     9   }else{
    10     return false;
    11   }
    12 }
    13 test("eye");

    3、找到提供的句子中最长的单词,并计算它的长度

     1 function words(str) {
     2 //转化成数组
     3   var astr=str.split( " " ); 
     4 //对数组中每个元素的字符串长度进行比较,按照字符串长度由大至小排列数组顺序。
     5   var bstr=astr.sort(function(a,b){
     6     return b.length-a.length;
     7   });
     8 //取出数组中第一个元素(也就是最大长度的字符串)
     9   var lenMax= bstr[0].length;
    10 //返回长度值
    11   return lenMax;
    12 }
    13 
    14 words("I am a little gril and vary lovely");
    15 
    16 //结果:6

    4、确保字符串的每个单词首字母都大写,其余部分小写

    function like(str) {
      var astr=str.toLowerCase().split(' ');
      for(var i=0 ; i<astr.length; i++){
        astr[i]=astr[i][0].toUpperCase()+astr[i].substring(1,astr[i].length);
      }
      var string=astr.join(' ');
      return string;
    }
    like('I have two beautifal eyes');
    
    //结果:I Have Two Beautifal Eyes

    5、大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们拼成一个新数组

    function largestOfFour(arr) {
      var newArr=[];
      for(i=0;i<arr.length;i++){
        arr[i].sort(function(a,b){
          return b-a;
        });
        
        newArr.push(arr[i][0]);
      }
        return newArr;
    
    }
    largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
    
    // 结果 [5, 27, 39, 1001]
  • 相关阅读:
    [TC11326]ImpossibleGame
    [CC-FNCS]Chef and Churu
    [JZOJ4786]小a的强迫症
    [USACO08NOV]Time Management
    ARC070F HonestOrUnkind
    LOJ2799 「CCC 2016」生命之环
    Luogu P5824 十二重计数法(小球盒子计数)
    Luogu P4249 [WC2007]剪刀石头布
    Kattis heapsoffun Heaps of Fun
    Kattis xorsequences XOR Sequences
  • 原文地址:https://www.cnblogs.com/jinga/p/9378868.html
Copyright © 2011-2022 走看看