- 博客(10)
- 收藏
- 关注
原创 代码随想录day7|哈希表part2
j和k去重刚开始写成和跳过i类似的if判断了,正确逻辑是j=k前不断跳过所有重复项 ,要用while循环!那么为什么跳过重复的可以用if判断句?因为if:continue含在for循环里。2. 每个i,寻找-(j+k)=i,即两数之和中令i为target。1.排序,i《j〈k,ij在左端k在右端。用哈西需要去重 麻烦。3.i,j,k去重,
2024-11-09 16:35:48
211
原创 代码随想录算法训练营day6|哈希表基础
这里构建一个26的数组作为哈希表,计算字符串中每个字符与“a”的相对ord 值作为索引,完成映射;python中集合set{1,3,2}无序,可以视作没有值的字典(只有键),故集合中的元素不能重复,如果重复则会被覆盖。补充:python中的ord() 将字符转换为int形的ASCII ,chr() 将ASCII转换为字符。用一个set记录每次操作后的数,当出现重复,说明陷入循环,return false。,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。
2024-11-08 21:22:51
230
原创 代码随想录算法训练营day4|24. 两两交换链表中的节点
相交节点 让指针A先遍历A再B 指针B先便利B再A,当指向公共节点时,两指针走过的路是相同的,因此当A=B时候,这一点一定是公共节点。采用双指针法,右指针先走n步,然后左右一起走,这样右指针走到末端时左指针正好在倒数n个。19.删除倒数第n个。142.环形链表II。
2024-11-06 00:44:17
150
原创 代码随想录训练营day3|删除链表节点、设计链表、反转链表
重点,要用三个变量,previous, current, tmp,因为一旦让当前节点指向previous,就无法知道原来的next节点是哪个了。我的方法:让这一点的值等于下一点,下一点等于next。
2024-11-03 00:04:53
138
原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素、
每次取查找范围的中点 mid,比较 nums[mid] 和 target 的大小,如果相等则 mid 即为要寻找的下标,如果不相等则根据 nums[mid] 和 target 的大小关系将查找范围缩小一半。=val,则更新 nums[k]=nums[i],然后把 k 加一。由于每次查找都会将查找范围缩小一半,因此二分查找的时间复杂度是 O(logn),其中 n 是数组的长度。双指针,每次比较首尾元素平方,将大的放入结果数组,从后往前放,注意每次要将结果数组的指针-1。3. 遍历结束,返回 k。
2024-10-30 17:50:34
357
原创 闯关任务2: python
2.Vscode连接InternStudio debug。cleaned_text内容无误,执行下一步。1. Python实现WordCount。words内容无误,可进行计数。
2024-08-12 23:26:20
257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅