一.选择算法排序(算法时间复杂度为O(n²)级别) 选择排序就是选择数组中的最小的树,依次排序.第一次选择最小的数放在第一位,第二次从剩余的元素中寻找最小的元素放在第二位,第三次在剩余的数中选择最小的数放在第三位,依次类推 function getMInDate(arr){ var minIndex; var minValue; for(var i=0;i<arr.length;i++){ minIndex=i; for(var j=i+1;j<arr.length;j++){ if(arr[
这是我在研究leetcode的solution第一个解决算法时,自己做出的理解,并且为了大家能看懂,做出了详细的注释. 此算法算是剑指Offer36的升级版,都使用的归并算法,但是此处的算法,难度更高,理解起来更加费劲. /* * @Param res 保存逆变对数 * @Param index 保存数组下标索引值,排序数组下标值. * 此算法使用归并算法,最大差异就在于merge()方法的转变 * * */ public List<Integer> countSmaller(int[] nu
1.算法排序 a.插入排序 var arr = [23,34,3,4,23,44,333,444]; var arrShow = (function insertionSort(array){ if(Object.prototype.toString.call(array).slice(8,-1) ==='Array'){ for (var i = 1; i < array.length; i++) { var key = array[i]; var j = i - 1; while (j >