之和 指针

代码随想录刷题记录——双指针篇

27. 移除元素 题目链接 快慢指针,最终返回index值为移除元素后的数组末尾元素下标+1. #include<vector> using namespace std; class Solution { public: int removeElement(vector<int>& nums, in ......
随想录 指针 随想 代码

P00575. 求约数之和3之完美数

下面这个代码TLE了,因为做除法的速度比做乘法慢4到5倍 。 #include <bits/stdc++.h> using namespace std; long long a,b,ans,f[10000001]; int main() { cin>>a>>b; for(long long i=1; ......
约数 之和 00575

智能指针

使用智能指针删除堆上分配的内存,而不用delete class Entity{ public: int x; public: void Print(){ std::cout<<"Hello Entity!"<<std::endl; } }; class scopedPtr{ private: Eni ......
指针 智能

双指针

双指针算法在Java中的使用主要涉及到两个指针同时遍历或者迭代一个数组或列表,常用于解决一些具有线性结构的问题,如寻找数组中的旋转排序数组的最大值,或寻找数组中的最长连续子数组等。 以下是一个简单的双指针算法的Java实现,用于寻找数组中的最长连续子数组: ``` java复制代码 public c ......
指针

三数之和--双指针

要求找到所有「不重复」且和为 0 的三元组 排序 + 双指针(双指针只在有序时可以用) 有序的另一个作用是辅助去重,比如a,b,c//b,c,a//c,a,b对本题来说是一样的,有序后就只有a,b,c 同时,对于每一重循环而言,相邻两次枚举的元素不能相同,否则也会造成重复,因此: nums.sort ......
之和 指针

Leetcode16——最接近的三数之和

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 ta ......
之和 Leetcode 16

C++系列十:日常学习-智能指针

[TOC](智能指针) # 介绍: 智能指针是一种存储指向动态分配(堆)对象指针的类。除了能够在适当的时间自动删除指向的对象外,它们的工作机制与C++的内置指针类似。智能指针在面对异常或者未定义行为时特别有用,它们能够确保正确的销毁动态分配的对象。 在C++标准库中,有几种类型的智能指针,包括: 1 ......
指针 智能

共享指针和唯一指针

唯一指针不能复制,它的参数不能使用new关键字创建。 std::unique_ptr<Entity>entity=std::make_unique<Entity>(); std::unique_ptr<Entity>e0=entity; 共享指针有一个引用计数,当计数为0就宣布释放内存。 { std ......
指针

leetcode1161最大层内元素之和

dfs lass Solution { public: unordered_map<int,vector<int>>m; void dfs(TreeNode* root,int depth){ if(!root)return; int res=0; depth++; dfs(root->left,d ......
之和 leetcode 元素 1161

指针与数组

【1】指针与一维数组 定义: eg1:int x[3]={4,5,6};int *p; eg2:int x=12; p=&x; int *p=x; eg3: 表示:地址[ ] *(地址) 序号 0 1 2 内容 4 5 6 地址 *a *(a+1) *(a+2) p *p *(p+1) *(p+2) ......
数组 指针

力扣——1 [两数之和](https://leetcode.cn/problems/two-sum/)

给定一个整数数组 `nums` 和一个整数目标值 `target`,请你在该数组中找出 **和为目标值** *`target`* 的那 **两个** 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 **示例 ......
之和 leetcode problems two-sum https

句柄和指针的区别

句柄和指针是计算机科学中常用的两种数据类型。 句柄(Handle)是一个在程序中用来引用对象或资源的标识符。它是一个代表对象的唯一标识符,但本身不直接指向对象的内存地址。句柄可以看作是一种间接引用,通过句柄可以访问和操作对象或资源。句柄一般由系统分配和管理,对应于对象或资源的实际内存地址。句柄的优点 ......
句柄 指针

智能指针

智能指针就是帮我们C++程序员管理动态分配(程序员手动删除,手动释放,也就是说智能指针是帮我们操作堆区内存的)的内存的,它会帮助我们自动释放new出来的内存,从而避免内存泄漏! unique_ptr 创建,初始化 1 unique_ptr<int>up; 2 up = make_unique<int ......
指针 智能

C语言-指针

[TOC] ### 指针 - 前置概述:在计算机内存中最小的操作单元是字节Byte(不是位bit)。每一个字节单元,都有一个编号,称为地址。 - 指针定义:专门用来存放地址的变量,称为`指针变量,通称指针`。 - 格式:` *` ```c int a = 10; int * p; p = &a; / ......
指针 语言

简单理解c语言指针

&p(取地址) P *p(间接寻址) 假设p指向整数型变量a,那么可以理解为p等同于a的地址。*是间接寻址运算符,对p进行操作,找到p这个地址中所对应(放的)东西。 也就是说, *p就是a。 做个比喻,将*理解成取平方,而操作数p是地址,那么p的平方就是a,如2的平方就是4。(不过这里其实p不像是常 ......
指针 语言

《C和指针》学习笔记

# C和指针学习笔记 ## 前置条件 ### 1.1 配置环境 1. 下载vscode 2. 安装编译器:这里以MinGw-w64为例。 1. 下载MinGw-w64的安装包并解压。 2. 添加到系统环境 3. 编辑tasks.json(该文件负责项目的编译,如果需要同时编译多个文件,需要对该文件进 ......
指针 笔记

双指针(9/1 and9/2 )

1、复习了前缀和,差分(一维和二维) 2、双指针 //双指针核心思想就是优化时间 for() for()->O(n^2) >优化成O(n) /*for(i=0,j=0;i<n;i++) { while(j<i&&check(i,j)) j++; //每道题的逻辑 }*/ #include <iost ......
指针 and9 and

C++智能指针

### 一、常规指针的缺点 - 当一个常规指针离开了作用域时,只有该指针变量本身占用的内存空间(4/8字节)会被释放,而它指向的内存空间不会自动释放,当free\delete\delete[]语句忘记执行或者无法执行,形成内存泄漏 ### 二、智能指针的优点 - 智能指针是一个封装了常规指针的类类型 ......
指针 智能

双指针算法及模板

## 双指针算法及模板 ### 1.第一类双指针算法 ![img](https://img2023.cnblogs.com/blog/2206600/202307/2206600-20230711162836636-648686619.png) ``` 第一类双指针算法指的就是: 有两个序列A和B, ......
指针 算法 模板

智能指针

常规指针的缺点: 当一个常规指针离开了作用域时,只有该指针变量本身占用的内存空间(4/8字节)会被释放,而它指向的内存空间不会自动释放,当free/delete/delete[] 语句忘记执行或者无法执行,形成内存泄漏 智能指针的优点: 智能指针是一个封装了常规指针的类类型对象,并且重载了 * 和 ......
指针 智能

Day12_文件的高级操作:控制文件指针移动

1.文件高级操作:控制文件指针移动_1 2.模式0(参照物是文件开头位置)的示范: 3.模式1(参照物是当前指针所在位置)的示范: 18.模式2(参照物是文件末尾位置,应该倒着移动)的示范: ......
文件 指针 Day 12

关于指针与引用传递的效率问题

# 引言 * 引用是C++的特性,指针是C语言的特性 * 关于这两种特性的运行效率,人云亦云,好多人都说引用传递效率更高 * 以至于一些面试官在自己都不清楚的前提下面试别人 * 笔者有幸遇到过,由于看过底层汇编,在面试官对我说引用效率更高的时候,导致我一度怀疑自己的记忆力 * 下面我们就看看引用在汇 ......
指针 效率 问题

C++中引用和指针联合使用

##引用(reference)的优缺点(以int &b = a;为例) * 1.引用的底层是指针:(b本质上是指向a的指针),但是程序员可以把引用b当作对象a的别名,也就是可以当作一个普通的变量使用。 * 2.引用有更加安全和高效的特性:b只能指向a,也就是说,b不能再引用其他的对象了,这一点和指针 ......
指针

【校招VIP】前端算法考点之快慢指针题型

考点介绍: 链表是校招面试里手撕代码出现频度比较高的题型,三线和中小厂会考察简单的链表反转,大厂会进一步考察复杂度和双指针问题,比如中间元素、是否存在环等。 一、考点题目 1.一个长度为n的单向链表,用O(1) 空间复杂度来实现倒转输出,使用最低时间复杂度 解答:单向链表,直接设结点 Node he ......
快慢 题型 考点 前端 指针

双指针删除数组中的一些元素

给定一个升序排列的的长度为n的数组nums,数组中每个元素都是正整数,请删除一部分这个数组的重复元素(数组元素需要原地改变),让这个数组中的每个数字都严格大于前一个数(第一个数除外),然后返回删除过后该数组的长度。例如n=4,nums=[1,2,2,3],则输出3.java代码实现 ``` publ ......
数组 指针 元素

C语言指针的作业

## 指针的作业 1. 求Sn = a + aa + aaa + aaaa + aaaaa的前五项和,其中a是一个数字。 例如:2 + 22 + 222 + 2222 + 22222 ```C /* 求Sn = a + aa + aaa + aaaa + aaaaa的前五项和,其中a是一个数字。 例 ......
指针 语言

C语言指针进阶

[TOC] > 编码的三种境界: > > 1.看代码就是代码 > > 2.看代码就是内存 > > 3.看代码还是代码 ## 字符指针 (公众号:愚生浅末) 在指针的类型中我们知道有一种指针类型为字符指针` char*` ; 一般使用: ```C int main() { char ch = 'w'; ......
指针 语言

代码随想录第6天|242.有效的字母异位词;349.两个数组的交集;202.快乐数;1.两数之和;

unordered_map<int,int> map; unordered_set<int> result; vector<vector<int>> res(n,vector<int>(n,0));声明了长度为n*n的二维数组 在C++中,auto 是一个关键字,用于实现类型推导,使编译器能够根据变 ......
随想录 之和 数组 交集 随想

指针的学习

# 一、什么是指针 指针是一种特殊的**数据类型**,使用它可以定义指针变量,指针变量中**存储的是整型数据**,该数据代表了内存的编号(**地址**),可以通过这个编号访问到对应的内存 # 二、为什么要使用指针 1、函数之间内存是相互独立的,但有时候需要**函数之间共享变量** - 普通传参是单向 ......
指针

Leetcode 15. 三数之和(3Sum)

[题目链接](https://leetcode.cn/problems/3sum) 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nu ......
之和 Leetcode 3Sum Sum 15