之和 指针

C++this指针

C++只有非静态成员变量才属于类的对象上 在C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象上 首先看一下空对象占多少空间 class Foo { }; int main() { Foo foo; cout << "size of is : " << sizeof(foo ......
指针 this

快慢指针-小记

快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。最后,慢指针就是中位数。 这个理论,是建立在中位数 = n / 2的基础上。 同时,适用于: 单向链表查找。 这个理论,需要一个简易的规律总结即可自证。 [1, 2, 3] lo ......
快慢 小记 指针

华为机试 乱序整数序列两数之和绝对值最小

本期题目:乱序整数序列两数之和绝对值最小 题目 给定一个随机的整数数组(可能存在正整数和负整数)nums, 请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值 并返回这两个数(按从小到大返回)以及绝对值。 每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍 ......
绝对值 之和 整数 序列

C语言的数组和指针

在 C 语言中,数组和指针是两个关系密切但也不容易弄清楚的两个概念。本文主要基于一维和二维数组来展示他们的关系,其中关于二维数组的内容也可以适用到多维。 本文使用 gdb 作为交互式的实验工具,在文章的实验展示中以 (gdb) 开头的部分是输入,没有该前缀的是输出。文章内容和实验中都以整型(int) ......
数组 指针 语言

day17| 110.平衡二叉树;257.二叉树的所有路径;404.左叶子之和

110. 平衡二叉树 自顶向下递归 1. 获得计算二叉树高度的函数 2. 对于遍历到的节点,首先计算左右子树的高度,看是否平衡 3. 在分别遍历到左右子树,判断左子树和右子树是否平衡 代码如下: class Solution: def isBalanced(self, root: TreeNode) ......
之和 路径 叶子 day 110

智能指针

1、分析下面代码,说出问题所在 #include <bits/stdc++.h> using namespace std; class A{ public: A(){}; A(int a): age(a) {}; ~A(){}; private: int age; }; int main() { A ......
指针 智能

【入门】Go语言指针详解

一、指针介绍 1.1 什么是指针? 指针是一种存储变量内存地址的变量。 Go 语言中的指针与 C/C++ 中的指针类似,但是 Go 语言中的指针不能进行指针运算,也不能进行指针类型转换。 1.2 指针有什么用? 在Go语言中,指针是一种特殊的变量,它存储了一个变量的内存地址。通过指针,我们可以直接访 ......
指针 语言

约数之和

约数之和 plus 0x01 背景题目 0. 定理 算术基本定理(正整数唯一分解定律): 不考虑排列顺序的情况下,每个正整数都能够以唯一的方式表示成它的质因数的乘积。 $x={p_1}^{k_1} * {p_2}^{k_2} *{p_3}^{k_3}.....{p_n}^{k_n}$ 人话:对于每个 ......
约数 之和

代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和

110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 一个显然但似乎不太高效的方法是: 通过递归获取左右子树高度,判断差; 然后递归判断左右结点; 那么一个显然的改进就是后序遍历 /** * Definition for ......
随想录 之和 随想 路径 Leetcode

go 指针

前言: 变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置,当一个指针被定义后没有分配到任何变量时,它的默认值为 nil。 Go语言中使用在变量名前面添加&操作符(前缀)来获取变量的内存地址。 指针变量通常缩写为 ptr。 正文: 通过指针,获取变量的值 num := 5 ptr := &n ......
指针 go

指针

变量访问的两种方式(取值): 1.通过变量名 2.通过变量的地址(指针) int *p;//指针变量p指向一个int类型的地址 指针变量和地址的区别(int *p、int arr[3]): 1. 指针变量指向的地址是可以变的(即p可以执行不同的整形地址),所以p++是可以的; 而数组名是一个常量(即 ......
指针

2023-03-21-将指针所在地址传入函数来创建链表的一种写法

如下,通过将指针所在的地址传入函数中即**p的形式,来保证直接对地址进行运算,而不需要再返回一个链表 //双链表 #include <stdio.h> #include <stdbool.h> #include <malloc.h> typedef struct DNode { int data; ......
写法 指针 函数 所在 地址

【LBLD】双指针技巧秒杀七道数组题目

【LBLD】双指针技巧秒杀七道数组题目 快慢指针技巧 class Solution { public: int removeDuplicates(vector<int>& nums) { int fast = 0; int slow = 0; while (fast < nums.size()) { ......
数组 指针 题目 技巧 LBLD

2023-03-31-结构体指针传入函数的问题

错误示范,打印不出L->data的值,因为传入的是指针变量,更改数据的话,要把地址传进函数,才能把更改后的数据传出来: //单链表 #include <stdio.h> #include <stdbool.h> #include <malloc.h> typedef struct LNode { i ......
指针 函数 结构 问题 2023

1-两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 来源:力扣(LeetCode) 链接:ht ......
之和

结构体里面定义一个该结构体类型变量为什么必须用指针

一.错误: struct TreeNode { int val; TreeNode left; TreeNode right; }; 二.分析原因: 如果在定义class A时,A域的类型是未定义的class A而不是指向class A对象的指针类型,编译器会尝试在编译时分配一块内存给A域,但由于c ......
结构 指针 变量 类型

2023-03-30 野指针的问题

在顺序栈的取栈顶操作时,想利用指针来进行值的传输,最后却输出不出来 1 bool GetTop(SqStack S,int *e)//读栈顶元素 2 { 3 if(S->top 1) 4 { 5 return false; 6 } 7 else 8 { 9 *e=S->data[S->top]; 1 ......
指针 问题 2023 03 30

单元测试举例:ssm项目和springboot项目(解决空指针异常可参考)

springboot项目 1. 建议如图所示目录结构: 2. 启动类添加: 3. 测试类添加: 4. pom.xml: SSM项目 1. 建议目录结构同上 2. pom.xml: 3. 测试类添加:二选一 Java配置类 带有 自动扫描包 的xml配置文件 ......
项目 指针 springboot 单元 ssm

结构体嵌套链表实现——大学复健(终于会用指针的小蒟蒻)

##太开心了终于会用指针喏 ######前置内容: ######由于我太菜了甚至不知道这两个的区别所以写在这里 p->nex //p地址所指向的地方的东西 ,p为指针 p.nex //p这个结构体中的东西 , p为变量 ###那么关于这个东西怎么写呢,我们是会写数组模拟的所以的话 ###我们需要的无 ......
套链 指针 结构 大学

【LBLD】双指针技巧秒杀七道链表题目

【LBLD】双指针技巧秒杀七道链表题目 原文地址:双指针技巧秒杀七道链表题目 合并两个有序链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() ......
指针 题目 技巧 LBLD

C++11之智能指针weak_ptr

C++11标准虽然将 weak_ptr 定位为智能指针的一种,但该类型指针通常不单独使用(没有实际用处),只能和 shared_ptr 类型指针搭配使用。甚至于,我们可以将 weak_ptr 类型指针视为 shared_ptr 指针的一种辅助工具,借助 weak_ptr 类型指针, 我们可以获取 s ......
指针 weak_ptr 智能 weak ptr

洛谷P1009 阶乘之和

捏妈第三节的题单名不是循环结构吗,直接出了第八节的高精度大数计算,紧急学习 对于较大数的加减乘除阶乘等,C/C++原生的数据类型是存储不了的(即便用longlong),直接计算会出现数据移除成负数的结果 为了解决这类超大数的运算,我们选择用字符数组或者整型数组来进行模拟运算。 所谓模拟运算也就是把大 ......
阶乘 之和 P1009 1009

指针

1、概念 每一个变量都有存储位置,而指针就是的值就是这个存储位置,或者说指针指向该存储位置 2、声明 int *p 声明一个指向整型数据的指针变量p,当只声明变量不给予赋值,系统会给一个默认的值 3、赋值 p = &a 这时指针便指向变量a,指针的值便是变量a的地址,指针值所在的地址存放的值便未变量 ......
指针

环形链表|哈希、快慢指针

环形链表 判断一个链表中是否有环,如果有返回环的起始位置。难点有两个,一是判断是否有环,二是找到起始点。这里有两种方法,一种是哈希集,另一种是快慢指针。 ==对应题目142. 环形链表 II==😶‍🌫️ 哈希集 从头开始遍历整个链表,并使用哈希集去保存每个节点,接着判断节点是否有重复的。如果有那 ......
快慢 环形 指针

删除链表的第N个节点|栈、双指针

删除链表的倒数第N个节点 类似于删除链表中的第N个节点,但是这里是倒数第N个且不知道链表的长度,如果用删除第N个节点的方法去解决问题的时候需要先知道链表的长度。这就需要遍历一遍链表,然后删除还需要再遍历一遍所以这会增大开销,但不失为一种方法。这里给出两种不需要知道链表长度的解题方法,使用栈和双指针法 ......
节点 指针

力扣-数组-双指针

1 class Solution(object): 2 def removeElement(self, nums, val): 3 """ 4 :type nums: List[int] 5 :type val: int 6 :rtype: int 7 """ 8 # 双指针法,left从前往后定位 ......
数组 指针

c++数组和指针

goto 作用:goto是跳转到循环中标志的地方。 标志语法:FLAG: 调用:goto FLAG; 数组 数组的定义方式 1.数组类型 数组名[数组长度]; 2.数组类型 数组名[数组长度]={值,值};//如果数组长度大于值的个数则多的值为零 3.数组类型 数组名[]={ 值 ,值};//可以不 ......
数组 指针

链表-双指针算法

快慢指针算法是一种常用的技巧,用于解决链表中的问题。通常用于链表的遍历、查找等问题 1. 算法的思想 快慢指针算法的思想是:两个指针以不同的速度遍历链表,从而达到目的。其中,快指针每次移动两个节点,而慢指针每次移动一个节点。 2. 常见应用场景 快慢指针的常见应用场景有:判断链表是否有环寻找链表的中 ......
指针 算法

C++黑马程序员——P56-62. 指针

P56. 指针——指针的定义和使用 P57. 指针——指针所占内存空间 P58. 指针——空指针 P59. 指针——野指针 P60. 指针——const修饰指针 P61. 指针——指针和数组 P62. 指针——指针和函数 P56. 指针的定义和使用 指针的作用:可以通过指针间接访问内存 指针定义语法 ......
指针 黑马 程序员 程序 56

C++智能指针、绑定器和函数对象、lambda表达式

智能指针 ​ 智能指针可以保证资源的自动释放 不带引用计数的智能指针 auto_ptr只让最后一个指向的指针管理资源,之前的auto_ptr会被置为nullptr scoped_ptr删除了拷贝构造和赋值重载函数 **unique_ptr:**推荐使用,也删除了拷贝构造和赋值重载函数,但是提高了右值 ......
表达式 指针 函数 对象 智能