美文网首页
领扣----js算法练习

领扣----js算法练习

作者: 行走的Radish | 来源:发表于2018-12-11 17:09 被阅读0次

    此篇是在LeetCod的上的练习,本人很菜,如果有更好的解决方法或者错误的地方,欢迎指出,我们共同学习~~~~~

    1、给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。

    你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

    示例:

    给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]

    /*

    *第一是审题,开始的时候想法是,循环nums,如果target-nums[i]的值是不是在nums中,如果存在,那么就判断存在的那个值加上nums[i]是不是等于target

    *但是遇到了一个问题,当数组是3,2,4,target是6的时候,i=0,那么6-3=3,就会重复的获取了i=0,3的值,目前没想出解决方案

    *这个完成的是借鉴别人的,双重循环,第二个循环是i+1,也就是第二个值,这样就避免了一重循环时,又重复使用nums[i]中的情况

    *然后判断target-nums[i]是不是等于nums[j]

    */

    var twoSum = function(nums, target) {

        var arr=[]

        for(var i=0; i<nums.length; i++){

          for(var j=i+1; j<nums.length; j++){

              if(target-nums[i] == nums[j]){

                  arr.push(i)

                  arr.push(j)

                  return arr

              }

          }

    }

    };

    twoSum([2, 7, 11, 15], 9)

    2、给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    /**

    * 如果转成字符串,那么负值要多出一位,所以要进行条件的设置

    * 如果反转之后,大于了所在的范围,那么又要重新判断

    *2的次方要怎么表达啊啊啊啊

    *所以只能强硬的去把范围写出来!!!!耦合性太强,目前还没找到解决方法

    */

    var reverse = function(x) {

        var str = String(x)

        if(str.charAt(0) === '-'){

            if(str.length > 11){ return 0}

            var new_str = str.slice(1, str.length)

            var fin_num = parseInt('-'+new_str.split('').reverse().join(''))

            return  fin_num < (-2147483648) ? 0 : fin_num

        }

        if(str.length > 10){ return 0}

        var num = parseInt(str.split('').reverse().join(''))

        return  num > 2147483648 ? 0 : num

    };

    reverse(1534236469)

    3、判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    var isPalindrome = function(x) {

        var str = String(x)

        if(str.charAt(0) === '-') return false

        if(str.split('').reverse().join('') === str){

            return true

        }else{

            return false

        }

    };

    isPalindrome(10)

    待续...............................

    ///////////////////////////////////////////////////////////////////////////////////////////////

    相关文章

      网友评论

          本文标题:领扣----js算法练习

          本文链接:https://www.haomeiwen.com/subject/xueehqtx.html