- 博客(5)
- 收藏
- 关注
原创 代码随想录哈希表篇|哈希表理论基础、242.有效的字母异位词、349. 两个数组的交集、202.快乐数、1. 两数之和、454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
/哈希表法 public :0 };//数组本身就是一种hash表,创建一个26位的数组 for(int i = 0;i ++) {//遍历s字符串 hash [ s [ i ] - 'a' ] ++;//s[i]是s字符串第i位的字母,作为下标括号里的运算时候,两个字母编译器会自动取他们的ASCII码值计算 } //所以这里默认就把“a”当作了是index=0的位置,当s[i]=“a”,此时index=0,所以hash表的第一位+1,以此类推 for(int j = 0;j ++) {
2023-06-29 16:39:51
105
1
原创 代码随想录算法训练营第四天| 链表理论基础 ;24. 两两交换链表中的节点 ;19.删除链表的倒数第N个节点 ; 面试题 02.07. 链表相交 ;42.环形链表II
题目链接:24. 两两交换链表中的节点 - 力扣(Leetcode)视频链接:帮你把链表细节学清楚! | LeetCode:24. 两两交换链表中的节点_哔哩哔哩_bilibili解题思路: 本题的关键点在于两两交换,所以把链表的节点两两分组,分别交换完之后,指针由上一组的末尾节点指向下一组的第一个节点即可。图解如下: 首先定义一个虚拟头指针,分别记录交换后第二、第三个节点的位置,也就是1和3;为什么2的位置不需要用temp存一下呢?因为2是交换后的第一个节点,操作的时候直接用cur指向cur-
2023-06-21 12:17:35
63
原创 代码随想录算法训练营第三天| 链表理论基础 ;203.移除链表元素 ;707.设计链表;206.反转链表
中途出差+参加比赛+课题项目等,太久没有做题了hh,小菜鸡我又回来咯。
2023-06-19 21:05:55
76
原创 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
思路:用两个指针形成一个滑动的窗口,右指针遍历数组,左指针被动变化,一旦这个窗口中的数字之和大于等于target,则返回此时的窗长,然后左指针向右移动一格并把sum减去窗口中的第一个数字。思路:外层for循环遍历数组,内层for循环从外层的i开始往后求和,一旦发现大于目标值就和定义的数组长度比较,短的成为新的数组长度。转一圈,左右上下都会减去一条边的宽度,所以用边长/2就是转了几圈,有余数的画就是最后一圈只有一个元素,即中心点。注:暴力法的思路很清晰,两步走,先平方再排序,就转变成了一个排序算法的题。
2023-05-11 22:07:44
149
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人