算法练习簿
运用js编写常见、常用基础算法与数据结构
Huijie Xu
不管做什么,做到好,这个过程本身就很有趣
展开
-
斐波那契数列 Fibonacci Numbers
斐波那契数列: 1 1 2 3 5 8 13··· 每一位都是前两位数的和 问题:求斐波那契数列第n位的数字是几(标号从0开始) 关键词:递归 一个学习理解递归意义很好的例子 var index = 10; // 第十位数字 var fibnacci = function fibnacci(index) { if(index == 0) return 1; // 第一个数字,也就是递归结束点 ...原创 2019-09-03 16:07:24 · 265 阅读 · 0 评论 -
n*n矩阵走法问题
问题(杨辉三角变形): 有一个nn的矩形方格 要求每次只能向右或向下前进一步,问:从第一格走到第nn格的走法一共有多少种 每一格的走法=走到这一格左边格子的方法数+走到这一格上方格子的方法数 难点:怎么设计程序达到渐进式的正确的加法运算 var n = 4; // 4*4 方格 var ways = function (n) { //定义二维数组 var array = new Array(...原创 2019-09-07 13:41:27 · 1168 阅读 · 0 评论 -
字符串压缩
给定由普通英文字母组成的非空字符串s1,要求将连续出现的字符压缩成字符和该字符连续出现的次数,并返回新的字符串s2。s1字符串的长度不超过100 输入描述: 全部由普通英文字符组成的长度不超过100的字符串 。 输出描述: 由英文字符和数字组成的字符串,其中数字表示它前面的字符在输入字符串中连续出现的次数 示例 输入: aabccccaaa 输出: a2bc4a3 时间复杂度:O(n) 空间复杂度...原创 2019-09-20 10:20:26 · 1277 阅读 · 0 评论