【算法专题--双指针算法】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(...

突破编程_C++_C++11新特性(智能指针概述)

理是一个核心概念,它涉及到如何在程序执行过程中分配、使用和释放内存。由于 C++ 允许程序员直接管理内存,因此内存管理在 C++ 中显得尤为重要。合理的内存管理可以确保程序的正确运行,避免内存泄漏、野指针等问题,提高程序的稳定性和性能。 (1)内存分配 在 C++ 中,内存分配主要分为两种:静态内存分配和动态内存分配。 静态内存分配:在程序编译时就已经确定了所需内存的大小,并由编译器自动分配。这通常用...

js中复杂数据类型的引用与c++的指针是一回事吗?

在JavaScript中,复杂数据类型的引用和C++中的指针有一些相似之处,但并不完全相同。 在JavaScript中,复杂数据类型(如对象和数组)是通过引用来传递和操作的。当你将一个对象赋值给一个变量时,实际上是将对象的引用赋值给了变量。这意味着变量存储的是对象在内存中的地址,而不是对象本身的值。当你使用这个变量时,实际上是在操作这个对象。 类似地,在C++中,指针也可以用来存储对象的内存地址。通...

【前缀和 + 双指针】第十三届蓝桥杯省赛C++ B组《统计子矩阵》(C++)

【题目描述】 给定一个 N×M 的矩阵 A,请你统计有多少个子矩阵 (最小 1×1,最大 N×M) 满足子矩阵中所有数的和不超过给定的整数 K? 【输入格式】 第一行包含三个整数 N,M 和 K。 之后 N 行每行包含 M 个整数,代表矩阵 A。 【输出格式】 一个整数代表答案。 【数据范围】 对于 30% 的数据,N,M≤20, 对于 70% 的数据,N,M≤100, 对于 100% 的数据,1≤N...

【C++刷题】优选算法——双指针

f(area > ret) ret = area; } }while(left < right); return ret;} 有效三角形的个数 利用单调性,先固定最大的数,在最大的数的左区间内使用双指针算法。 inline bool check(int side1, int side2, int side3){ return (side1 + side2 > side3);}int trian...

C++ //练习 9.14 编写程序,将一个list中的char*指针(指向C风格字符串)元素赋值给一个vector中的string。

C++ Primer(第5版) 练习 9.14 练习 9.14 编写程序,将一个list中的char*指针(指向C风格字符串)元素赋值给一个vector中的string。 环境:Linux Ubuntu(云服务器) 工具:vim   代码块 /************************************************************************* > Fil...

【PTA|函数题|期末复习】指针

差(5分) 函数接口定义: 裁判测试程序样例: 输入样例: 输出样例: 代码 6-2 拆分实数的整数与小数部分 (5分) 函数接口定义: 裁判测试程序样例: 输入样例: 输出样例: 代码 6-3 利用指针找最大值 (5分) 函数接口定义: 裁判测试程序样例: 输入样例: 输出样例: 代码 6-4 在数组中查找指定元素 (15分) 函数接口定义: 裁判测试程序样例: 输入样例1: 输出样例1: 输入样例...

【算法题】116. 填充每个节点的下一个右侧节点指针

点都有两个子节点。二叉树定义如下: struct Node {   int val;   Node *left;   Node *right;   Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。 示例 1: 输入:root = [1,2,3...

C++类和对象-C++对象模型和this指针->成员变量和成员函数分开存储、this指针概念、空指针访问成员函数、const修饰成员函数

using namespace std; class Person { public:     Person(int age)     {         //1、当形参和成员变量同名时,可用this指针来区分         //this指针指向 被调用的成员函数 所属的对象         this->age = age;     }     Person& PersonAddPerson(Per...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.018885(s)
2024-04-29 12:02:56 1714363376