【字符串】【滑动窗口+位运算+双指针】1、无重复字符的最长子串+2、尽可能使字符串相等+3、最长优雅子数组+4、移动零+5、反转字符串

+; sum^=b; } sum|=a; } len=max(len,right-left); } return len; }}; 4、移动零(难度:简单) 该题对应力扣网址 AC代码 思路简单,双指针,先把不为0的挪到前面,剩下的填充0 class Solution {public: void moveZeroes(vector<int>& nums) { int l=0,r=0; while(...

【快慢指针】个人练习-Leetcode-142. Linked List Cycle II

链接:https://leetcode.cn/problems/linked-list-cycle-ii/description/ 题目大意:给一个链表的头部,判断链表是否有环,如果有,返回环的第一个指针;如果没有,返回nullptr 思路:简单的思路是并查集,第二次插入的那个指针就是环的起点。但这样空间复杂度还是 O ( N ) O(N) O(N)。使用快慢指针可以让空间复杂度降为 O ( 1 ) ...

C语言基础(六)数组 指针 二级指针 数组指针 指针数组

目录 一、指针与数组(一)数组名(二)数组+/-运算1、数组地址2、加减运算 二、二维数组与指针(一)数组地址(二)加减运算 三、数组名传参(一)遍历二维数组 四、二级指针(一)定义1. 格式 (二)二级指针传参(三)多级指针 五、数组指针(一)概念(二)练习 六、指针数组(一)概念(二)练习(三)特殊的字符串定义方法 七、练习 一、指针与数组 (一)数组名 数组名是一个地址常量,不能进行++、–操...

【c++算法篇】双指针(下)

🔥个人主页:Quitecoder 🔥专栏:算法笔记仓 目录 `1.有效三角形的个数``2.查找总价格为目标值的两个商品``3.三数之和``4.四数之和`5.双指针常见场景总结 1.有效三角形的个数 这道题当然可以暴力求解,三层循环枚举所有情况,来进行判断,但是可以进行优化: 我们知道,三角形的满足条件是任意的两边之和大于第三边,,所以我们先进行排序,再进行枚举: class Solution {p...

C语言中的结构体和指针

目录 ​​​​​​​前言 1.指针 1.声明 2. 取地址运算符 3. 间接访问运算符 4. 指针的初始化 5. 指针的算术运算 6. 指针和数组 1. 数组名作为指针 2. 指针和数组的关系 3. 指针和数组的区别 4. 数组作为函数参数 7. 指针和函数 8. 指针和动态内存分配     1. malloc() 函数 2. free() 函数 2.结构体 1.定义 2.结构体成员访问      ...

【c++算法篇】双指针(上)

🔥个人主页:Quitecoder 🔥专栏:算法笔记仓 目录 `1.移动零``2.复写零``3.快乐数``4.盛水最多的容器` 1.移动零 这里运用的是数据分块的原理,我们将这个数组分为三个部分 两个指针的作用: cur:从左往右扫描数组,遍历数组dest:已处理的区间内,非零元素的最后一个位置 cur右边的部分是待处理的部分,左边是已经处理好的部分 处理好的区间,分为两个部分,左边为非零元素,右边全...

指向函数的指针

目录 typedef指向函数的指针 typedef typedef 在 C 语言中用于为类型创建别名,它使得程序员能够用新的名称来表示已有的类型,从而提高代码的可读性和可维护性。以下是 typedef 的几种常见用法: 1.创建类型别名 typedef unsigned int uint; 在这个例子中,uint 变成了 unsigned int 的别名。 2. 创建结构体类型的别名 typedef...

C/C++的指针、万能指针、常量指针指针常量

C/C++的指针 1、 指针的概念: 指针是一个变量,它存储的是另一个变量的内存地址,而不是变量的值。 指针变量的声明:在C/C++等语言中,我们通过使用星号*来声明一个指针变量。例如,int *ptr; 这行代码声明了一个名为ptr的指针变量,它指向一个整数类型的内存地址。 指针变量的赋值:我们需要将一个变量的地址赋值给指针变量。这可以通过使用取地址运算符&来实现。例如,int x = 10; p...

【算法专题--双指针算法】leecode-202. 快乐数(medium)、leecode-11. 盛最多水的容器(medium)

目录 前言1. 快乐数(medium)2. 解法3. 盛水最多的容器(medium)4. 解法解法一(暴力求解)(会超时):解法二(对撞指针): 前言 对撞指针从两端向中间移动。一个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼 近。对撞指针的终止条件一般是两个指针相遇或者错开(也可能在循环内部找到结果直接跳出循 环),也就是: left == right (两个指针指向同一个位置) lef...

[C++11] 智能指针(auto_ptr(弃用)、unique_ptr、shared_ptr、weak_ptr)详细解读

说明:本文主要解释auto_ptr、unique_ptr、shared_ptr、weak_ptr这几种智能指针。接下来我们对每一个指针类型进行详细说明并给出一些基本的使用方式,重在深入理解。 在 C++ 中,auto_ptr、unique_ptr、shared_ptr 和 weak_ptr四种智能指针主要用于管理动态分配的对象的生命周期。它们在所有权管理和内存安全方面有所不同。 1 auto_ptr(...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.007276(s)
2024-07-27 13:23:40 1722057820