自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 刷题Day8 字符串1(反转、翻转、旋转字符串)

在遍历字符串的过程中,只要让 i += (2 * k),i 每次移动 2 * k 就可以了,然后判断是否需要有反转的区间。给定一个字符串 s 和一个整数 k,从字符串开头算起, 每计数至 2k 个字符,就反转这 2k 个字符中的前 k 个字符。我们定义两个指针(也可以说是索引下标),一个从字符串前面,一个从字符串后面,两个指针同时向中间移动,并交换元素。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。输入: "the sky is blue"

2024-03-16 17:03:08 338

原创 刷题Day7 哈希表2

nums[i]和nums[k]确定,靠left和right移动,找出nums[k] + nums[i] + nums[left] + nums[right] == target的情况,其实就是在三数循环的基础上嵌套一层k;相当于 a = nums[i],b = nums[left],c = nums[right]在遍历数组的时候,只需要向map去查询是否有和目前遍历元素匹配的数值,如果有,就找到的匹配对,如果没有,就把目前遍历的元素放进map中,因为map存放的就是我们访问过的元素。

2024-03-13 08:43:15 687

原创 刷题Day6 哈希表 有效的字母异位词 两个数组的交集 快乐数

std::set和std::multiset底层实现都是红黑树,std::unordered_set的底层实现是哈希表, 使用unordered_set 读写效率是最高的,并不需要对数据进行排序,而且还不要让数据重复,所以选择unordered_set。思路:输出结果中的每个元素一定是唯一的,也就是说输出的结果的去重的, 同时可以不考虑输出结果的顺序,使用set(没有数值的限制);如何检查字符串t中是否出现了这些字符,同样在遍历字符串t的时候,对t中出现的字符映射哈希表索引上的数值再做-1的操作。

2024-03-09 15:48:34 775

原创 刷题day5 删除链表节点 环形链表

分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。思路:双指针法,设置快慢指针,令快指针先走n+1步,使得slow指向删除节点的上一个节点,然后快慢指针同时移动,当fast指向null,删除slow指针的上一个节点。环形入口节点到 fast指针与slow指针相遇节点 节点数为y。,n为fast指针在环内走了n圈才遇到slow指针, (y+z)为 一圈内节点的个数A。

2024-03-06 21:22:46 1423

原创 刷题Day4 设计链表 反转链表 交换链表节点

具体操作:① 定义cur指针指向头节点,定义pre指针初始化为null;②把cur→next节点用tmp指针保存;⑤cur指向null结束,循环结束,返回pre(头节点)注意:设置tmp指针在没赋值前保存cur的下一个节点;操作:获取第n个节点的数值、头部插入节点、尾部插入节点、第n个节点前插入数值、删除第n个节点。给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。思路:改变链表next的指针指向,直接将链表反转。题目链接:​​​​​​​。文章讲解:​​​​​​​。题目链接:​​​​​​​。

2024-03-02 15:43:10 420

原创 刷题Day3 螺旋矩阵+链表(1)

相比起数组,链表解决了数组不方便移动,插入,删除元素的弊端,但相应的,链表付出了更加大的内存牺牲换来的这些功能的实现。(2)注意每条边遍历的起始位置、终止位置(随着循环改变)和需要循环的圈数(n/2)(3)遍历每条边的时候改变的是i还是j,i和j遍历到最大值的时候不需要初始化了。的 ,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。(存放指向下一个节点的指针),最后一个节点的指针域指向。链表的入口节点称为链表的头结点也就是。

2024-02-29 20:48:42 1409

原创 刷题Day2

的思路,一个for循环表示,需要考虑循环的索引表示的是滑动窗口的终止位置,因为如果是起始位置,后续的位置仍然需要遍历。(当前窗口的值大于s了,窗口就要向前移动)给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。基本思路考虑:有序数组有正有负,最大值出现在两边,故而考虑双指针法,判断两边平方后的大小,大的一方为指针指向值。给你一个按非递减顺序排序的整数数组 nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。

2024-02-26 21:27:28 311

原创 刷题day1

简介:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。二维数组地址也是连续一条线的,16进制内存地址,所以相邻数组元素地址相差四个字节。快指针指向新数组所需要的元素,慢指针指向新数组的下标值,快指针的值赋值给慢指针。数组下标都是从0开始的,内存空间的地址是连续的。明确区间定义:左闭右闭还是左闭右开。(1)左闭右闭,一旦开始,坚持原则。数组的元素不能删,只能覆盖。

2024-02-21 21:30:12 1677

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除