
算法
IsQtion
想学Python的前端小虫
展开
-
获取数组(树)的最大深度(JS)
首先有一个数组,比如可以定义为这样的格式 var treeArr={ child:[ { name: 'a', child: [ { name: 'b', child: [ {name: 'd'}, { ...原创 2020-05-04 18:57:53 · 4514 阅读 · 0 评论 -
求数组每列最大值
var arr=[ [1,2,5,9], [4,6,2,8], [2,5,7,4], [3,7,8,1], [0,4,1,2] ]; //创建一个空数组,用来接收每一列最大数所在的行数 var hang=[]; //创建一个数组,用来存...原创 2018-08-16 17:26:31 · 2087 阅读 · 0 评论 -
将某些正整数分解成若干个连续整数的形式
将某些正整数分解成若干连续整数的形式, 例如 15=1+2+3+4+5 15=6+5+4 15=7+8 某些正数不能分解为连续数的和,例如:16 输入: 一个正整数N(0<N<10000) 输出:整数N对应的所有分解组合, 按照每个分解中的最小整数从小到大输出,每个分解占一行, 如果没有任何输出, 则输出NONE 思路介绍: for 循环遍历从n/2(向上取整)处开始从后往前遍历, 遍...原创 2018-09-27 21:56:48 · 2196 阅读 · 0 评论 -
求一元组中的最长递增子序列的长度(Python)
如一个元祖 (2, 1, 6, 4, 5, 7, 4, 2, 5, 6, 1, 3, 2, 5), 他的最长递增子序列有很多, 比如(1,4,5,7或者1,2,3,5), 他的最长递增子序列长度就是4 解法(一)思路介绍: 可以借助一个辅助数组来完成, 这个辅助数组的主要职责是, 记录遍历到当前数时, 以当前数结尾的元祖的最长递增子序列长度, 通过嵌套两层while循环, 第一层遍历元祖, 第二层...原创 2018-09-28 15:30:33 · 3453 阅读 · 0 评论 -
几种基本的排序算法总结
准备函数 var arr = [] function swap(arr, a, b) { //交换函数 var temp = arr[a] arr[a] = arr[b] arr[b] = temp } function random_arr (){ //生成随机数组的函数 let long = Math.floor(Math.random()*100+1) for...原创 2018-10-29 13:51:20 · 262 阅读 · 0 评论 -
计算最大公约数和最小公倍数
首先,要想计算最大公约数和最小公倍数,我们可以利用分解质因子的方式,获取两个数的所有质因子,而两个数的最大公约数是两个数相同的质因子的乘积,最小公倍数则是两个数的相同质因子的乘积再乘以他们各自特有的质因子。 比如24和36这两个数,24的质因子是【2,2,2,3】,32的质因子是【2,2,3,3】。两个数的共同质因子是【2,2,3】,因此他们的最大公约数是2*2*3 = 12,两个数特有的质因子是...原创 2019-08-02 16:15:26 · 548 阅读 · 0 评论 -
计算表达式结果(支持带括号的加减乘除以及乘幂和小数运算)
以(1.22+((3.43+54.54)*8^3*9)-3*(2+4*2-1))/10+9^3这个表达式为例吧。首先先分析一下这个表达式,有括号,括号的优先级最高,其次有乘幂和乘除,应该是先算乘幂再算乘除,最后是加减。 我们第一步要做的就是处理一下这个表达式,因为表达式是字符串形式的,因此我们要做的处理就是把数字项和运算符项依次放入一个数组中 考虑到数字项有小数的情况,因此在字符转数字的是时候统一...原创 2019-08-02 11:01:25 · 1735 阅读 · 0 评论