会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
sakilohale
博客园
首页
新随笔
联系
订阅
管理
2024年5月28日
代码随想录算法训练营第七天|454(四数相加||),383(赎金信),15(三数之和),18(四数之和)
摘要: 哈希 三数之和和四数之和,和两数之和一样,是对一个数组来进行检索。因为要求元组不能重复,需要用多指针的方法来遍历和判断。由于两数之和没有这个要求且要返回下标,所以用了哈希表。但哈希表难以检测是否重复,不如双指针直接。 四数相加||是对四个数组来做相加,且不要求元组重复,可用哈希表将四个数组简化为一个
阅读全文
posted @ 2024-05-28 20:48 sakilohale
阅读(150)
评论(0)
推荐(0)
2024年5月27日
代码随想录算法训练营第五天|242(有效的字母异位词),349(两个数组的交集),202(快乐数),1(两数之和)
摘要: 哈希 C#常用的数据结构: []Array,ArrayList 数组和动态数组 List 集合 HashSet 哈希集合(无重复值) HashTable 哈希表(obj,obj的键值对) Dictionary<T,T> 泛型的哈希表 什么时候考虑Hash数据结构? 需要高效的判断一个值是否存在在一个
阅读全文
posted @ 2024-05-27 20:48 sakilohale
阅读(159)
评论(0)
推荐(0)
2024年5月25日
代码随想录算法训练营第四天|24(两两交换链表中的节点),19(删除链表的倒数第N个节点) ,02.07(链表相交),142(环形链表II)
摘要: 链表 24.两两交换链表中的节点 19.删除链表的倒数第N个节点 02.07. 链表相交 142.环形链表II 题目总结 24和反转链表有些相似,使用虚拟头,指针,temp来模拟每次的交换。 19同样可以使用双指针(或者这里相当于固定长度的滑动窗口) 0207和142的题解方法适合死记硬背,没必要自
阅读全文
posted @ 2024-05-25 16:58 sakilohale
阅读(173)
评论(0)
推荐(0)
2024年5月24日
代码随想录算法训练营第三天|203(移除链表元素),707(设计链表),206(反转链表)
摘要: 链表 203.移除链表元素 707.设计链表 206.反转链表 这三道题都可以用单链表来解决。 这里规定自己必须用dummyHead的方法来做链表题。题中没规定head则只声明一个dummyHead,题中有head,则声明dummyHead指向它,并在最后返回之前将head=dummyHead.ne
阅读全文
posted @ 2024-05-24 12:23 sakilohale
阅读(190)
评论(0)
推荐(0)
2024年5月23日
代码随想录算法训练营第二天|977(双指针),209(滑动窗口),59(螺旋矩阵)
摘要: 977.有序数组的平方 **1. 数组中有正有负,且本身有序。平方后,较大值从两边来比较取出。 **2. 使用头尾指针方法。 209.长度最小的子数组 **1. 从数组中找符合要求的 连续 子数组 **2. 滑动窗口方法:本质为快慢双指针,快指针不断前进直到子数组满足要求,然后慢指针前进直到子数组不
阅读全文
posted @ 2024-05-23 12:56 sakilohale
阅读(206)
评论(0)
推荐(0)
2024年5月22日
代码随想录算法训练营第一天|704,34,35(二分查找),27(双指针)
摘要: 二分查找 1. 使用条件:数组,升序,值不唯一。 2. 时间复杂度 O(logn) 可分为左闭右闭,左闭右开两种区间类型来求解。 左闭右闭:left = 0, right = nums.Length-1,while(left<=right),right = middle - 1. 左闭右开:left
阅读全文
posted @ 2024-05-22 13:54 sakilohale
阅读(213)
评论(0)
推荐(0)