js算法
文章平均质量分 53
在下月亮有何贵干
有一个成为受人敬仰的前端开发者的梦想
展开
-
js算法——最长回文子串
res保存最长串内容,max保存最长串长度,step用于加快循环,根据题目要求返回。遍历s,双指针指向遍历i左右,先从右侧循环判断重复字符,就是s[i]与右侧s[r]判断相等,重复字符部分外层循环可跳步,step加1,若相等r加1继续判断,就是s[i]与右侧的右侧s[r]判断…右侧无重复字符开始回文判断两头,l与r,相等的话l递减r递增。2与3小点的循环条件除了判断相等还要注意两侧的长度限制。r-l-1为暂时的回文字串长度,s.substr(l+1,r-l-1)为暂时的回文字串内容,可以根据最大..原创 2022-01-04 10:36:04 · 978 阅读 · 4 评论 -
js算法——快速排序与快速选择
快速排序创建用于交换数组两个值的函数swap创建quick快速排序函数,入参i为起始下标,j为末尾下标我们将起始下标i对应的arr[i]值作为基准,声明两个哨兵,l与r分别代表左侧哨兵和右侧哨兵,初始位于起始下标和末尾下标。r向左侧移动,寻找到第一个小于(若降序则相反)基准的值;l向右侧移动,寻找到第一个大于(若降序则相反)基准的值,找到后交换,并继续找下一对值交换,寻找条件要确保左侧哨兵和右侧哨兵没有相遇:l<r。当哨兵相遇时,将相遇点的值与基准值交换,得到的相遇点的值为基准中心,左侧原创 2021-12-30 11:20:59 · 510 阅读 · 2 评论 -
js算法——二分查找
题题目出自leetcode。给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。1你可以假设 nums 中的所有元素是不重复的。n 将在 [1, 10000]之间。nums 的每个元素都将在 [-9999, 9999]之间。/** * @param {number[]} nums * @param {number} target * @return {number}原创 2021-12-27 15:51:10 · 667 阅读 · 0 评论 -
js算法——查找链表中的环(快慢指针)
js算法 快慢指针解法原创 2021-12-27 11:22:06 · 324 阅读 · 0 评论 -
js算法——实现反转链表
题题目来自leetcode。定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *原创 2021-12-24 15:46:37 · 4996 阅读 · 0 评论