
算法/手写
文章平均质量分 80
前端手写练习,数据算法练习
kattiekattie
这个作者很懒,什么都没留下…
展开
-
算法:异或运算【只出现一次的数字】
算法背景异或(eor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“eor”。程序中有三种演算子:XOR、eor、⊕。C语言和C++语言(C++支持eor,用法和效果如’^'相同)的异或不用eor,而是用“^”。(而其它语言的“^”一般表示乘方)运算规则相异为真,相同为假:归零律:a ⊕ a = 0恒等律:a ⊕ 0 = a交换律:a ⊕ b = b ⊕ a结合律:a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;自反:a ⊕ b原创 2021-04-06 10:53:34 · 610 阅读 · 0 评论 -
算法: 摩尔投票算法(Moore majority vote algorithm) 【数组中出现次数超过一半的数字】
算法背景:Boyer-Moore majority vote algorithm(摩尔投票算法)是一种在线性时间O(n)和空间复杂度的情况下,在一个元素序列中查找包含最多的元素。它是以Robert S.Boyer和J Strother Moore命名的,1981年发明的,是一种典型的流算法(streaming algorithm)。在它最简单的形式就是,查找最多的元素,也就是在输入中重复出...原创 2020-05-06 15:32:52 · 713 阅读 · 0 评论 -
剑指offer思路记录(JS)
目录常用算法理解1. 数组中重复的数字2. 二维数组中的查找3. 替换空格4. 从尾到头打印链表5. 用两个栈实现队列6. 斐波那契数列7. 青蛙跳台阶问题8. 旋转数组的最小数字9. 矩阵中的路径(深度优先搜索)10. 机器人的运动范围 (DFS)11. 剪绳子 (动态规划)12. 剪绳子 II (大数越界求余)13. 二进制中1的个数14. 数值的整数次方15. 打印从1到最大的n位数16. 把数字翻译成字符串 (动态规划)17. 和为s的两个数字 (双指针)18. 反转链表19. 删除链表的节点20原创 2021-04-14 10:06:51 · 263 阅读 · 1 评论 -
MD5算法:数据加密校验(原生js)
md5算法,为一段字符串加密,标准生成32位字符function md5(md5str) { var createMD5String = function(string) { var x = Array() var k, AA, BB, CC, DD, a, b, c, d var S11 = 7, S12 = 12, S13 = 17, S14 = 22 var原创 2020-08-04 14:03:20 · 1187 阅读 · 0 评论 -
前端手写代码整理
面试练习原创 2023-02-06 22:58:43 · 645 阅读 · 0 评论 -
算法整理:排序
一、排序1) 冒泡排序基本思想:对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端, 最终达到完全有序。代码实现function bubbleSort(arr) { if (!Array.isArray(arr) || arr.length <= 1) return; let lastIndex = arr.length - 1; while (lastIndex > 0) { // 当最后一个交换的元素为第一个时,说原创 2021-04-13 16:24:16 · 116 阅读 · 0 评论