美文网首页
一道常见的js和Java通用面试题

一道常见的js和Java通用面试题

作者: 兰鑫鑫 | 来源:发表于2019-07-30 20:01 被阅读0次

一个有序的数字数组,添加一个新的数值进去,新数组依旧是有序数组,说说实现思路。

>>>请看js代码,并运行

var arr = [1,8,9,44,55,88,99,99];

        function yxArr(arr,key){

            var min = 0,max = arr.length - 1,mid;

            while(min <= max){

                mid = Math.floor((min + max)/2)

                if(key > arr[mid]){

                    min = mid+1;

                }else if(key < arr[mid]){

                    max = mid-1;

                }else{

                    return mid;

                }

            }

            return min;

        }

        console.log(arr);

        console.log("43-----"+yxArr(arr,43));

        console.log("44-----"+yxArr(arr,44));

        console.log("45-----"+yxArr(arr,45));

原理是,数组折半的原理,获取应该插入的索引

>>>Java原理也一样,就不贴码了

相关文章

网友评论

      本文标题:一道常见的js和Java通用面试题

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