摘要:
题目:打印 1-10000 之间的对称数(回文) 思路: 思路1:使用数组反转 数字转换为字符串 字符串转换为数组 reverse,再join 生成字符串 比较前后字符串 思路2:使用字符串头尾比较 数字转换为字符串 字符串头尾比较 思路3: 生成反转数 通过 % 和 Math.floor 将数字生 阅读全文
摘要:
题目:用 JavaScript 实现快速排序,并说明时间复杂度 思路: 快速排序是基础算法之一,算法思路是固定的 找到中间位置 midValue 遍历数组,小于 midValue 放在 left, 大于midValue 放在right 继续递归。最后 concat 拼接,返回 代码实现: /** * 阅读全文
摘要:
题目:给一个字符串,找出连续最多的字符,以及次数。如:'aabbcccddeeee112233' 连续最后的是e ,4次 分析: 传统方式,嵌套循环 嵌套循环,找出每个字符的连续次数,并记录比较 时间复杂度:因为是嵌套循环,所以看似是O(n^2), 但因为循环中有跳转,所以实际上它是O(n) 双指针 阅读全文
摘要:
题目:将数组中的 所有 0 都移动到末尾,如输入[1,0,3,0,11,0],输出[1,3,11,0,0,0]。要求: 只移动 0, 其他数字顺序不变 考虑时间复杂度 必须在原数组进行操作 分析: 传统方式(不可取) 遍历数组 遇到 0 push 到数组末尾 然后用 splice截取掉当前元素 时间 阅读全文