- 博客(3)
- 收藏
- 关注
原创 连续子数组最大和(JavaScript)
题目描述 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n). 解题思路: 可以设定两个数组,其中一个通过不断相加与原数组进行比较,进而得出最大值。 首先先判断数组的长度,为0直接退出运算,为1则直接返回该值 if(array.length == 0){ return []; } if(array.length == 1){ return array[1]; } 然后开始运算 let max = arr
2020-12-14 11:09:56
1038
原创 找到字符串的最长无重复子串(JavaScript)
题目描述: 给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。 首先先来分析一下思路: 这是一个不定长数组,数组左右边界均不确定,故可以先设置两个指针定个边界 let left = 0; let right = 0; 然后我们需要一个存储子串的数组以及最后要输出的值: let map = {}; let ans = 0; 变量声明完毕,开始计算: while(left < arr.length && right<arr.l
2020-12-13 20:46:03
820
原创 快慢指针判断链表是否有环(JavaScript)
1.链表是什么 首先先要知道链表是什么,先看定义: 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 也就是说,在实际存储的时候,链表是可以不连续的,只需要在逻辑上保持连续即可。(可以把它想象成火车,一节车厢连接着下一节车厢,车厢间的连接就是指针) 2. 快慢指针的应用 顾名思义,快慢指针就是一快一慢的两个指针,其原理为: 如果链表中存在环,那么快慢指针进入环之后,因为存在速度差,两个指针迟早会相遇,那么只需判断两个指针的值是否相等即可,若果
2020-12-08 11:43:23
712
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人