functionch(str, n){ var str = str; var len = str.toString().length; for(var i = len -1; i>=0; i--){ arr[i] = str%10; str = (str - arr[i])/10; //一直到这里都是为了处理输入的整数为数组 } var arr = str; var len = str.length; arr = den(arr,n); //这里才是正经的对数组删除相应的n位的数字 var S = arr.join(""); S = parseInt(S); console.log(S); return S; }
1 2 3 4 5 6 7 8
functionden(arr,n){ //每次从数组中删除一个数字得到当前最大数,并返回删除后的数组 var len = arr.length; var n = n; for(var i = 0; i < n; i++){ arr = de(arr); } return arr; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
functionde(arr){ //每次删除时的具体逻辑,使用了splice函数,真的是相当便利呢。请原谅我的怠惰 var len = arr.length; for(var i = 0; i< len; i++){ if(arr[i] >= arr[i+1]){ continue; }elseif(arr[i] < arr[i+1]){ arr.splice(i, 1); break; } if(i == len){ arr.splice(i-1, 1); } } arr.length = len - 1; return arr; }