摘要: 二分搜索算法就是折半查找,是一种效率较高的查找方法。前提条件是要查找的数组是有序的。算法的实现还是相对简单的: 阅读全文
posted @ 2018-02-27 22:04 稀算客 阅读(193) 评论(0) 推荐(0) 编辑
摘要: call()和apply()的作用都是一样的——通过改变函数体内部 this 的指向,借用对象的方法的目的 还是举个栗子吧: 这两个方法的区别在于参数,call()传递给函数的参数必须列举出来,apply()传递的是参数数组. 阅读全文
posted @ 2018-02-26 22:32 稀算客 阅读(161) 评论(0) 推荐(0) 编辑
摘要: parsetInt与parseFloat的区别还是很大的,简单来说,parseInt解析字符串为整数,parseFloat解析字符串为小数。 首先说parseInt() 1.可以接受两个参数,第一个为字符串,第二个为进制数,第二个参数不是必须的,如果没有第二个参数,默认为十进制。 2.如果参数字符串 阅读全文
posted @ 2018-02-22 22:40 稀算客 阅读(1218) 评论(0) 推荐(0) 编辑
摘要: 本来想刷一道codewar上的算法题来着,结果看了半天没搞定,水平太菜伤不起啊,心里默念三声:我还会回来的。然后还是乖乖的总结一下js创建对象的几种方式: no1. 对象字面量: 这种方法平时用的相对较多,举个栗子: 这种方法简单粗暴,谁用谁知道,缺点也是相当明显,不能复用。 no2.Oject构造 阅读全文
posted @ 2018-02-19 22:12 稀算客 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 希尔排序本质是一种插入排序,由一位叫希尔的大神提出得名,其基本思想是将数组分组进行插入排序,每次消除不止一个逆序对,这样就提高了插入排序的效率。最后一步进行一间隔的插入排序,此时数组已经基本有序。代码实现如下: 增量用了Hibbart增量,Dk=2^k-1; 据猜想其平均时间复杂度Tavg = O( 阅读全文
posted @ 2018-02-08 19:37 稀算客 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 终于到了传说中的快速排序算法了,快速排序的思想和归并排序一样,都是采用分治思想,不同之处在于归并每次将数组一分为二,最后将小的数组进行比较,合并为大数组。快排是每次找一个主元,也就是基准数,按照这个基准数,把小于基准数的数放左边,大于基准数的数放右边,通过基准数来分组实现排序。所以快排的很重要一步就 阅读全文
posted @ 2018-01-23 22:54 稀算客 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 归并排序是一种分治算法。思想是把原数组切分成较小的数组,直到每个小数组只有一个位置,再将小数组归并成较大的数组,直到最后有一个完整有序的大数组。 js实现如下: 归并排序是一种稳定排序,无论最好情况和最坏情况时间复杂度为O(nlogn),空间复杂度为O(n)。 附:T(n)=2T(n/2)+cn; 阅读全文
posted @ 2018-01-14 22:21 稀算客 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 选排序的思路是首先从要排序的数组中选择最小的和目前的第一位交换位置,然后从剩下的数中选择最小的和第二个位置的数交换位置,再从剩下的数中选择最小的和第三个位置的数交换位置,以此类推,实现代码如下: 算法分析:无论最好或最坏情况,该算法的时间复杂度总是O(n2),因为每次要走第二个for循环找最小的数, 阅读全文
posted @ 2018-01-13 17:00 稀算客 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 插入排序的思路是我们默认数组的第一个元素是有序的,从第二个元素开始依次和前面的元素比较,如果前面的元素大,就将前面的元素往后移一位,如果前面的元素小,就把该元素放在前面元素的后面。其实就和我们玩扑克牌差不多的,每次拿牌后,把大牌放后面,小牌放前面。按照这个思路,实现了如下代码: 实现了之后看到大佬的 阅读全文
posted @ 2018-01-07 16:35 稀算客 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 在codewars上面刷题卡住刷不下去了,意识到自己算法方面的不足,准备写一些算法方面的文章,此为一。 冒泡排序是很常见简单的算法了,每次比较任何两个相邻的项,如果第一个比第二个大,则交换他们,就像气泡一样,冒泡排序因此得名。 代码实现如下: 这样每次循环把所循环的数组里最大的数放在最下面。为了判断 阅读全文
posted @ 2018-01-04 20:16 稀算客 阅读(256) 评论(0) 推荐(0) 编辑
摘要: Oh no, our Math object was "accidently" reset. Can you re-implement some of those functions? We can assure, that only non-negative numbers are passed 阅读全文
posted @ 2017-12-31 21:35 稀算客 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 时间过得真快,2017就要结束了,我来博客园也刚好整整一年了,在此码几个字,算作年终总结吧。 预热:2016.11 — 2017.2 自学前端ing 0.项目: 2月份入职,开始了前端生涯的第一个项目。是一个专为家具设计师打造的‘’博客园‘’,就叫J项目吧,我负责的模块有专访、赛事、招聘、项目大厅四 阅读全文
posted @ 2017-12-29 22:49 稀算客 阅读(276) 评论(2) 推荐(1) 编辑
摘要: 大多数编程语言中,布尔值true和false仅仅表示true/false。JavaScript中,如'Hello‘这样的字符串值,也可以看做true. 以下是不同数据类型在JavaScript中是如何转换的 阅读全文
posted @ 2017-12-24 19:36 稀算客 阅读(2985) 评论(0) 推荐(0) 编辑
摘要: 之前在项目中用vue和element,日期和时间选择用的element2.0 的DateTimePicker 日期选择后提交没问题,在编辑页面通过后端返回时间字符串(敲黑板,这里是重点)绑定也没洒问题,当重新选择时间时不能选择了,F12后控制台友好的抛来了n个bug。什么getHours()不是函数 阅读全文
posted @ 2017-12-17 15:00 稀算客 阅读(9349) 评论(0) 推荐(0) 编辑
摘要: You are going to be given an array of integers. Your job is to take that array and find an index N where the sum of the integers to the left of N is e 阅读全文
posted @ 2017-12-08 22:14 稀算客 阅读(300) 评论(0) 推荐(0) 编辑