![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
阳光6号
这个作者很懒,什么都没留下…
展开
-
二分法求立方根
function lfg(x){ if(x==0){ return 0; } let min = 0,max = x; if(x<0){ min = x; max = 0; } while(min < max){ let mid = (min + max) / 2; //二分法 let tmp = mid*mid*mid; if (tmp > x) {原创 2020-06-04 19:14:24 · 1769 阅读 · 0 评论 -
js输入任意字符串,统计各个字符的个数
js输入任意字符串,统计各个字符的个数function count(str) { let newStr = ''; let map = new Map(); for(let i=0; i<str.length; i++){ let c = str.substr(i,1); if(c.trim()){ //空字符不算 newStr += c; let num = 1; if原创 2020-06-03 18:27:24 · 2577 阅读 · 0 评论 -
js插入排序
算法步骤:将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)let arr = [4,1,8,34,62,56,9,16]var len = arr.length;var preIndex, current;for (var i = 1; i < len; i++) { debugger原创 2020-06-02 11:48:55 · 151 阅读 · 0 评论 -
选择排序算法
原理思路:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。function selectionSort(arr) { var len = arr.length; var minIndex, temp; for (var i = 0; i < len - 1; i++) { minIndex = i; for (var原创 2020-05-29 11:54:54 · 101 阅读 · 0 评论 -
冒泡排序
冒泡排序算法:function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len - 1; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j+1]) { // 相邻元素两两对比 var temp = arr[j+1];原创 2020-05-29 11:09:32 · 77 阅读 · 0 评论 -
求连续子数组的最大和
输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。描述:输入随机整数的数组问题:求出该数组的所有元素连续的,子数组中,元素和最大的子数组示例1:输入数组:[1,2,-3,5,7,-9];输出结果:[5,7]示例2:输入数组:[1,3,-3,5,7,-9,8];输出结果:[1,3,-3,5,7,]答案:let arr = [1,-3,7,-6,2,-2,6,-3,4,6,-8];let length = arr.length原创 2020-05-28 18:24:30 · 131 阅读 · 0 评论