算法
文章平均质量分 51
x86bit
To do or not to do.
展开
-
代码随想录算法训练营第六天 | 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数 、1. 两数之和
要用target减去数组中当前遍历的元素,得到一个差值,然后去map中询问key(map.containsKey()方法)是否存在此差值,存在就返回该差值对应的下标。因为字母是按顺序的,ASCII码上,每个字母也是相差1,随便取一个字母减去‘a’,就会得到该字母的下标了,然后在对应的record数组上,让该索引下的值+1。3.检查数字是否在哈希集合中需要 O(1)的时间,而对于其他数据结构,则需要O*(*n) 的时间。使用一个数组记录字符串S出现的次数,若该字母出现了一次,该位置的元素值加一;原创 2023-09-22 23:42:55 · 135 阅读 · 0 评论 -
代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19. 删除链表的倒数第N个节点 、07. 链表相交、142. 环形链表||
思路分析:首先要判断是否有环,即判断快慢指针是否相等fast==slow;经过数学推理,得到:双指针 快慢指针 数学推理出在相遇后 再分别定义两个指针,一个从头节点出发,一个从相遇节点出发,只要两个指针不相等,就走下去,两个指针碰面,即是入口处的节点。文档讲解:代码随想录(https://www.programmercarl.com/)链表这一块,基本都是单链表下的双指针的解法。思路分析:画了图,如下。原创 2023-09-22 15:07:31 · 114 阅读 · 0 评论 -
代码随想录算法训练营第二天 | 209.长度最小的子数组、59.螺旋矩阵
文档讲解:代码随想录(https://www.programmercarl.com/)第一眼:还是想不出来这样写,以下是看了代码随想录之后并结合自己理解。第一眼:想不出来这样写,以下是看了代码随想录之后并结合自己理解。,争取这一周赶上大部队!原创 2023-09-12 10:56:37 · 88 阅读 · 0 评论 -
代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素
第一想法:因为自己之前刷过代码随想录,但是没有坚持刷完,只刷完了二叉树,坚持了两个月就因为各种事情中断了,所以这道题自己先是写一遍,但不够熟练,没有充分理解循环不变量的含义。总结:这两道题都是做过的题,主要是要掌握思想,二分法的两种方式的边界定义要理解,在循环中要始终坚持根据查找区间的定义来做边界处理;说明:第一天就得补打卡了😢😢😢 因为公司那边自己负责的项目这几天准备上线,所以在改bug,配合验收,也没时间看题,趁周末补回来!双指针——快慢指针,还算比较好理解。原创 2023-09-10 17:01:12 · 148 阅读 · 0 评论