- 博客(57)
- 收藏
- 关注
原创 滑动窗口最大值
要求最后连接的顺序是先序遍历(根左右)的顺序,那么去按照完全相反(右左根)的顺序遍历。并且记录每一步的节点。每次遍历的当前节点的right指向的节点应该是上一个遍历到的节点,根据保存的节点就可以进行连接。的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。先序遍历,使用队列存储元素。之后依次出队,修改指针。,所以我需要两个变量记录窗口的左边界和右边边界。子指针指向链表中下一个结点,而左子指针始终为。要求得每k个的最大值,那么我就可以使用一个。展开后的单链表应该同样使用。
2024-02-17 14:25:51 1008
原创 宏,学习代码
* \:反斜杠,链接当前行和下一行,最后一行一般不加,反斜杠后面什么也不加。// #A 将转换为字符串,相当于在外面加 双引号。//将参数转换为字符,相当于加 单引号。//可以用来定义 多个相似的类。//宏替换,发生在预处理期。
2024-02-06 09:19:19 422
原创 const、常量指针、指针常量、常量指针常量、常函数、指针安全级别问题示例代码
/ &mb = const int*, 指针的安全级别是降级操作,不允许。//安全级别升级的操作。
2024-02-04 16:56:32 353
原创 05进程间通信-学习笔记
进程信技术简称IPC,可以利用此技木让多个进程相传建消数据,有大量的进程间通信方案进程有虚拟地址空间,进程间通信在虚拟地址的哪一层实现的?绝大多数进程间通信是在内核层完成的, 因为内核层内存共享。
2023-12-14 13:26:18 196
原创 01git和github-学习笔记
打开网站头像下拉列表->Settings->SSH and GPG key->New ssh key,为密钥编写title标题,将刚刚拷贝的密钥串粘贴到下面空白位置,保存即可。github是工程托管网站,大量的企业项目工程和开源工程托管在这个网站中,开发者聚集地,大量的开源项目可以很好的帮助用户学习,或开发github是工程托管网站。仓库:在github中仓库是项目的基本单位,是工程容器,每个开发者将自己的项目保存管理在一个仓库中,所有工程都是在仓库中管理编辑和发布。
2023-09-04 12:45:26 975 1
原创 C++笔记基础全部完整版
被继承的类叫做基类(父类),继承的类叫派生类(子类),在派生类类名后面加 : 继承方式,基类子类包含且可以使用父类的成员.//继承:子类包含且可以使用父类的成员public:int m_a;m_b = 20;//子类可以直接使用父类的成员//当子类成员和父类成员同名时,在成员前面加上作用域得以区分,默认是子类int main()CSon p1;p1.show();
2023-09-04 12:43:20 1203
原创 STL-map
7. map1. map的简介map是STL的一个关联容器,它提供一对一的hash第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可称为该关键字的值(value);如果说set对应数学中的“集合”,那么map对应的就是“映射”。map是一种key-value型容器,其中key是关键字,起到索引作用,而value就是其对应的值。与set不同的是它支持下标访问。头文件是。map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一
2022-04-19 19:42:41 102
原创 线性枚举-原地算法
删除有序数组中的重复项试题:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/题目内容:题解分析:题目要求原地修改数组,所以不可以开一个新的数组去存储数字。代码:思路来源于力扣题解class Solution {public: int removeDuplicates(vector<int>& nums) { int num=0;//记录新数组.
2022-04-14 17:05:55 824
原创 排它平方数
题目标题: 排它平方数小明正看着 203879 这个数字发呆。原来,203879 * 203879 = 41566646641这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。具有这样特点的6位数还有一个,请你找出它!再归纳一下筛选要求:6位正整数每个数位上的数字不同其平方数的每个数位不含原数字的任何组成数位答案是一个6位的正整数。#include <iostream>#includ
2022-03-07 12:49:47 181
原创 二分查找-
#include<stdio.h>#include<iostream>using namespace std;int main(){ int a[100]; int guess; int flag=0; int count=0;//统计比较次数 int low=0,mid,high=99; //初始化 cout<<"1、初始化"<<endl; for(int i=0;i<100;i++){ a[i]=
2021-12-07 09:52:35 353
原创 面向对象笔记
C++核心编程本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。1 内存分区模型C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程1.1 程序运行前 在程序编译后,生成了ex
2021-12-05 23:02:42 123
原创 【无标题】
时间复杂度o( )eg:遍历输出1-1000循环一次输出,O(n)循环两次,O(n^2)二分查找:O(log n)1s可以处理10^7O(n),n=10^7O(n^2)n,数据结构的基本概念基本的数据结构线性结构线性表栈和队列串数组和广义表非线性结构树图基本的数据处理技术排序技术查找技术栈、队列、链表队列先进先出队列将是我们今后学习广度优先搜索以及队列优化的 Bellman-Ford 最短路算法的核心 数据结构。通常将其放在 main 函数的外面基本元
2021-12-03 17:58:06 513
原创 临时 笔记
getcher从输入缓冲区中读取一个字符,若缓冲区中无数据就会等待用户输入,直到输入回车键,将数据输入到输入缓冲区。getchar可以用来清空缓冲区(防止读入垃圾数据)。int main (){ char a = 0; a = getchar(); cout << a; return 0;}getchgetch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回。getch是非缓冲输入函数,即不能用getch来接收缓冲区已存在的字符。ge
2021-12-03 17:47:14 1040
原创 11 面向对象
面向过程的结构化程序设计方法自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。程序的模块是由函数构成的。程序=数据结构+算法可重用性差面向对象的方法将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体——对象。对同类型对象抽象出其共性,形成类。对象与对象之间通过消息进行通讯。程序的模块是由类构成的。程序=对象+消息对象=算法+数据结构特点:封装性、继承性、多态性面向对象程序设计-类与对象.ppt1本章主要内容[外链图片转存失败,源站可能有防盗链机制,建
2021-12-03 16:52:19 292
原创 10 结构体
8 结构体8.1 结构体基本概念结构体属于用户 == 自定义的数据类型 == ,允许用户存储不同的数据类型8.2 结构体定义和使用语法:struct 结构体名 { 结构体成员列表 };通过结构体创建变量的方式有三种:struct 结构体名 变量名struct 结构体名 变量名 = { 成员1值 , 成员2值…}定义结构体时顺便创建变量示例://结构体定义struct student{ //成员列表 string name; //姓名 int age; //年龄
2021-12-03 16:50:28 149
转载 9 指针
7 指针7.1 指针的基本概念指针的作用: 可以通过指针间接访问内存内存编号是从0开始记录的,一般用十六进制数字表示可以利用指针变量保存地址7.2 指针变量的定义和使用指针变量定义语法: 数据类型 * 变量名;示例:int main() { //1、指针的定义 int a = 10; //定义整型变量a //指针定义语法: 数据类型 * 变量名 ; int * p; //指针变量赋值 p = &a; //指针指向变量a的地址 cout << &am
2021-12-03 16:49:18 91
原创 7 函数
6 函数6.1 概述**作用:**将一段经常使用的代码封装起来,减少重复代码一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。多态:一个符号,多种含义// C++代码在编译的的侯就可以确定 getMax调用的是谁,这个就是编译时多态// 编译时多态 (函数重载)// 函数重载:函数名字相同,但是形参列表不同,返回类型一致。6.2 函数的定义函数的定义一般主要有5个步骤:1、返回值类型2、函数名3、参数表列4、函数体语句5、return 表达式语法:返回值类型 函数
2021-12-02 21:49:20 90
原创 5 数组
5 数组5.1 概述所谓数组,就是一个集合,里面存放了相同类型的数据元素**特点1:**数组中的每个数据元素都是相同的数据类型**特点2:**数组是由连续的内存位置组成的5.2 一维数组5.2.1 一维数组定义方式一维数组定义的三种方式:数据类型 数组名[ 数组长度 ];数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};数据类型 数组名[ ] = { 值1,值2 ...};示例int main() { //定义方式1 //数据类型 数组名[元素个数]; in
2021-12-02 21:47:10 294
原创 4 程序流程结构
4 程序流程结构C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构顺序结构:程序按顺序执行,不发生跳转选择结构:依据条件是否满足,有选择的执行相应功能循环结构:依据条件是否满足,循环多次执行某段代码4.1 选择结构4.1.1 if语句**作用:**执行满足条件的语句if语句的三种形式单行格式if语句多行格式if语句多条件的if语句单行格式if语句:if(条件){ 条件满足执行的语句 }示例:int main() { //选择结构-单行if语句
2021-12-02 21:45:41 102
原创 3 运算符
3 运算符**作用:**用于执行代码的运算本章我们主要讲解以下几类运算符:运算符类型作用算术运算符用于处理四则运算赋值运算符用于将表达式的值赋给变量比较运算符用于表达式的比较,并返回一个真值或假值逻辑运算符用于根据表达式的值返回真值或假值3.1 算术运算符作用:用于处理四则运算算术运算符包括以下符号:运算符术语示例结果+正号+33-负号-3-3+加10 + 515-减10 - 5
2021-12-02 21:43:43 151
原创 2 数据类型
2 数据类型C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存2.1 整型作用:整型变量表示的是整数类型的数据C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:数据类型占用空间取值范围short(短整型)2字节(-2^15 ~ 2^15-1)int(整型)4字节(-2^31 ~ 2^31-1),21亿多,最小值1<<31-214748364802147483647long(长整形)Wind
2021-12-02 21:42:02 123
转载 1 编程基础知识
1 C++初识1.1 第一个C++程序编写一个C++程序总共分为4个步骤创建项目创建文件编写代码运行程序1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开1.1.2 创建文件右键源文件,选择添加->新建项给C++文件起个名称,然后点击添加即可。1.1.3 编写代码#include<iostream>using namespace std;int main() { cout << "Hel
2021-12-02 21:40:52 117
原创 6 字符串
6.1定义字符串char a[100];string a;6.2 C++ 中常见的几种输入字符串的方法cin>>用法:接受一个字符串,遇“空格”、“Tab”、“回车”结束char a[20];cin>>a;cout<<a<<endl;//输入:abababab//输出:abababab//输入:abc abc //遇空格结束,所以不能输入多个单词//输出:abccin.get()用法一:cin.get(字符变量名)可
2021-12-02 21:37:52 92
原创 首个不重复字符
#include#includeusing namespace std;int main(){ int check=0; int len; char s[10000]; cin >> s; len = strlen(s); int letter[26] = {0};//26个字母 for(int i = 0 ; i < len ; i ++) { letter[s[i]-‘a’]++;}for(int i = 0 ; i < len ; i ++) { i
2021-12-02 21:27:34 302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人