zoukankan      html  css  js  c++  java
  • 编程题汇总,持续更新

    //去除字符串前后的空格
    function trim(str) {
        if (str && typeof str === "string") {
            return str.replace(/(^s*)|(s*)$/g,""); //去除前后空白符
        }
    }
    
    str1 = '   hello world   ';
    console.log(trim(str1));   //hello world
        //调用原生js库trim()方法
    console.log(str1.trim());  //hello world
    // 统计字符串中字母个数或统计最多字母数
    function strCount(str){
        var obj  = {};
        for(var i=0;i<str.length;i++){
            var v = str.charAt(i);
            if(obj[v] && obj[v].value == v){
                // obj[v].count = ++ obj[v].count;
                 ++ obj[v].count;
            }else{
                obj[v] = {};
                obj[v].value = v;
                obj[v].count = 1;          
            }
        } 
        return obj;   
    }
    console.log(strCount("aaaabbbccccddfgh"));
    // { a: { value: 'a', count: 4 },
    //   b: { value: 'b', count: 3 },
    //   c: { value: 'c', count: 4 },
    //   d: { value: 'd', count: 2 },
    //   f: { value: 'f', count: 1 },
    //   g: { value: 'g', count: 1 },
    //   h: { value: 'h', count: 1 } }
    // 去除数组里面重叠的元素
    function unique(arr){
        var newArr = [];
        for(var i=0,len=arr.length; i<len; i++){
            if(newArr.indexOf(arr[i]) == -1){
                newArr.push(arr[i]);
            }
        }
        return newArr;
    }
    console.log(unique([1,2,2,2,3,3,3,4,5,6])); //[ 1, 2, 3, 4, 5, 6 ]
    //判断是否是回文串
    function isPalindrome(str) {
        str = str.replace(/W/g, '').toLowerCase();
        return (str == str.split('').reverse().join(''));
    }
    
    console.log(isPalindrome("level"));                   // logs 'true'
    console.log(isPalindrome("levels"));                  // logs 'false'
    console.log(isPalindrome("A car, a man, a maraca"));  // logs 'true'
    // 写一个sum函数使以下两种调用方式都正确。
    // console.log(sum(2,3));   // Outputs 5
    // console.log(sum(2)(3));  // Outputs 5
     
    //方法1
    function sum(x) {
      if (arguments.length == 2) {
        return arguments[0] + arguments[1];
      } else {
        return function(y) { return x + y; };
      }
    }
    
    //方法2
    function sum(x, y) {
      if (y !== undefined) {
        return x + y;
      } else {
        return function(y) { return x + y; };
      }
    }
    //大数阶乘
    //大整数阶乘的结果超出了导致js数值类型溢出,因此考虑用字符串保存结果来计算
     function f(n) {  
        var a = [1];  
        for (var i = 1; i <= n; i++) {  
            for (var j = 0, c = 0; j < a.length || c != 0; j++) {  
                var m = (j < a.length) ? (i * a[j] + c) : c;  
                a[j] = m % 10;  
                c = (m - a[j]) / 10;  
            }  
        }  
        return a.reverse().join("");  
    }  
    console.log(f(1000));  
  • 相关阅读:
    重温算法第一篇:冒泡排序
    服务器报警邮件发送到QQ邮箱,但是被系统拦截
    记录MongoDB常用查询
    一次 Mysql 字符集的报错,最后让我万马奔腾!!!
    Hbase 一次表异常,有一张表 无法count scan 一直显示重连
    spark编译安装 spark 2.1.0 hadoop2.6.0-cdh5.7.0
    有一些sql 是必须要做笔记的!!
    linux 修改openfiles
    在线HTTP POST/GET接口测试工具
    HBase 官方文档中文版
  • 原文地址:https://www.cnblogs.com/guorange/p/7168937.html
Copyright © 2011-2022 走看看