小白的Java
搭建地基
天空白
跟着太阳,你会找到方向
展开
-
算法-无重复字符的最长字串
** 1. 左边界,是最长字串的起点* 2. 移动指针,开始移动字符串,并记录字串的内容,以及字串位置* 3. 开始循环遍历字符串,用哈希表来存储。* 4. 如果当前元素,不存在,则放入hash表,字串内容作为key,下标作为value,计算长度* 5. 长度是定值0,和移动指针的位置减去左边界的位置 进行对比 找出最大值。注意定值* 6. 如果移动指针的内容和哈希表的里面的Key重复,那么就会移动 左边界的位置 到 移动指针的位置,并把此位置作为边界。原创 2023-12-29 17:28:33 · 336 阅读 · 1 评论 -
算法-两数相加
** 1. 两数之和,返回新链表,那么就需要新建一条链表* 2. 两数之和必定有进位,需要有一个进位变量来存储* 3. 毕竟有两条链表,需要有两个指针去循环。* 4. 其考虑特殊情况了,因为是链表,则至少有一条链表有值才可以添加* 5. 就考虑第一条链表的第一个值,是2条链表的值加上进位数了。* 6. 当前游标的Cur 指向 Prev, 那么进行创建 Cur的下一个链表为 Sum,然后再把游标的Cur 指向 Sum。* 7. 链表位置开始移动,移动到第二个地址上。原创 2023-12-26 21:42:07 · 344 阅读 · 0 评论