自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 资源 (6)
  • 收藏
  • 关注

原创 1438. 绝对差不超过限制的最长连续子数组

1438. 绝对差不超过限制的最长连续子数组滑动窗口算法双指针multiset容器基于红黑树

2023-01-29 17:03:42 302 2

原创 力扣 1004. 最大连续1的个数 III

力扣 1004. 最大连续1的个数 III滑动窗口算法详细思路解析双指针数组

2023-01-29 15:26:03 204

原创 力扣 3. 无重复字符的最长子串

力扣 3. 无重复字符的最长子串, 滑动窗口算法, 双指针

2023-01-29 14:29:44 235

原创 力扣 438. 找到字符串中所有字母异位词

力扣 438. 找到字符串中所有字母异位词, 滑动窗口算法, 详细代码注释, 以及解题的思路

2023-01-29 12:12:49 123

原创 力扣 567. 字符串的排列

力扣 567. 字符串的排列, 滑动窗口算法, 包含详细思路解析

2023-01-29 11:44:34 101

原创 力扣 76. 最小覆盖子串

滑动窗口算法, 力扣76 最小覆盖子串

2023-01-29 10:42:27 345

原创 03 - Qt 多线程网络通信——套接字

03 - Qt 多线程网络通信——套接字关于Qt中如何进行网络通信的API等介绍, 以及TCP UDP的通信流程, 最后还有一个实例代码

2022-09-29 17:16:18 5924 7

原创 04 - 使用Intent在Activity之间穿梭

在Intent中提供了一系列putExtra()方法的重载, 可以把我们想要传递的数据暂存在Intent中, 启动另一个活动后, 只需要在另外一个活动中把这些数据再从Intent中取出来就可以了;目标:在MainActivity中有一个字符串, 现在要讲这个字符串传递到SecondActivity中, 代码实现如下:(这里利用显示Intent的方法)putExtra()方法, 这里接收两个参数, key键和value值, 可以用于后面从Intent中取值, value则是要传递的值;用方法获取到。

2022-09-18 20:14:41 645

原创 03 - Android——Activity活动(基本用法)

重写方法, 代码如下:在方法中, 通过调用item.getItemId()来判断点击的是哪一个菜单项, 然后给每一个菜单项加入逻辑代码处理, 比如Toast消息提醒;菜单里面的菜单项默认是不会显示出来的, 当点击菜单按钮(三个点)的时候才会弹出里面具体的内容, 因此它不会占用任何活动(Activity)的空间;

2022-09-14 17:32:26 81279 1

原创 02 - QT 自定义控件封装

widget头文件中大致没有什么修改的内容, 所以这里跳过到widget.cpp提升之后, widget.ui中的控件smallwidget(对象名也改过了)就可以直接使用自定义控件类中封装好的两个方法// 获取控件当前的值 connect(ui -> btn_get , & QPushButton :: clicked , this , [ = ]() {});

2022-09-12 14:44:31 559 2

原创 02 - 分析一个Android程序以及日志工具的使用

Log.d():需要两个参数, 第一个参数是tag,一般传入当前的类名就可以, 自己定义也可以, 这个tag主要是用于对打印信息进行过滤的;第二个参数是msg, 想要打印的具体的内容;例如:(这里选的是,show only selected application 即只显示选定的应用程序)节选《第一行代码(第二版)》中的片段进行分析。

2022-09-11 22:50:10 949

原创 01 - SQL概述与SQL分类

SQL (Structured Query Language, 结构化查询语言)是使用关系模型的数据库应用语言, 与数据直接打交道, 由IBM上世纪70年代开发出来。后由美国国家标准局(ANSI)开始着手定制SQL标准, 先后有SQL-86, SQL-89, SQL-92, SQL-99等标准。DDL DML DCL

2022-09-11 17:42:25 379

原创 01 - Android系统架构

Android出入门的简单介绍

2022-09-07 20:06:53 1187

原创 01 - 树莓派简介以及烧录系统

树莓派的简介, 以及烧录系统, bootloader

2022-09-05 12:08:37 8418

原创 MySQL 数据库(DBMS)安装教程图文详解

MySQL 数据库(DBMS)安装教程图文详解

2022-08-30 14:43:07 4112 1

原创 CJSON库的学习

CJSON与JSON

2022-08-11 12:35:05 638

原创 704. 二分查找

二分查找LeetCode704

2022-06-04 21:49:57 89

原创 sockaddr地址结构——socket

sockaddr地址结构bind(sock, (struct sockaddr *)&server_addr, sizeof(server_addr));// 像bind这些函数API在很早的时候就有了// 而struct sockaddr_in 是后面出现的, 针对IPV4// IPv4即4个字节(32位)来表示IP,那么也就4亿多IP// 所以后面出现了IPv6, 用128个位来表示IP地址一、sockaddr数据结构struct sockaddr: 很多网络编程函数诞生早于IP

2022-05-20 22:36:37 809

原创 数组倒转+求平均数——Java

数组倒转思路:以length/2为界限,左右对应位置上的数字交换package mulArray;import java.util.Arrays;public class arrayReverse { public static void main(String[] args) { int[] arr = new int[7]; int len = arr.length; for (int i = 0; i < len; +

2022-05-18 16:49:45 165

原创 多维数组——Java

二维数组可以认为二维数组是元素为一维数组的数组1. 声明二维数组type[][] arrayName;2. 初始化二维数组(1)静态初始化arrayName = new type[][]{{...}, {...}, ...};- 若在声明时直接进行初始化,则可以省略new type[][]- type[][] arrayName = {{...}, {...}, ...};(2)动态初始化arrayName = new type[outerLength][innerLength]

2022-05-18 15:56:55 178

原创 内存中的数组——Java

一、引用类型int[] arr1 = {10, 20, 30, 40, 50};

2022-05-18 11:11:33 96

原创 Arrays工具类——Java

一、Arrays工具类1. 常用方法(1)Arrays.toString(array)- 功能: 打印- 返回: 字符串- 传入数组,返回拼接数组值后的字符串(2)Arrays.equals(array1, array2)- 功能: 比较两个数组会不会相等- 返回: 布尔值(3)Arrays.sort(array)- 功能: 排序(4)Arrays.copyOf(array, newLength)- 功能: 复制- 返回: 新数组- 传入原始数组array和长度newLen

2022-05-16 11:27:59 281

原创 Java中的数组——入门

一、什么是数组?1. 数组的概念 - 数组是一种最常见的数据结构,用于存储多个数据; - 在Java中,数组中的元素具有相同的数据类型,数组本身是一种引用数据类型2. 数组的特点数组中的元素按线性方式排列,可以通过下标来访问数组中的每一个元素;一旦初始化完成,数组在内存中所占的空间就固定下来了,即数组的长度不可以改变;...

2022-05-16 10:40:50 90

原创 字符串指针变量和字符数组的区别

字符串指针变量和字符数组的区别

2022-04-13 13:10:36 235 2

原创 dia和威严(dfs)

(1)代码 + 思路(注释)// 边 权值 树 DFS// 边权,点权 // 因为只会往下,所以不开标记数组(不会回溯) #include <bits/stdc++.h>using namespace std;const int N = 200010;#define ll long long vector<pair<int, int>> resu[N]; // 存储上级x到下级y传递信息的时间kint n; // 学生会的总人数,包括会长dia(ro.

2022-04-12 18:49:51 455

原创 常用的递归算法:dfs(深度优先搜索),记忆化搜索,分治

递归值函数调用自身;一、DFS的介绍概念很简单,但是还是得了解一下,下面介绍的内容是重点1. 图的DFS(1)先看一下vector是怎么建图的?vector<int> vecMap[100010];// n条边(这个结点所连接的结点) 邻接表建图for (int i = 0; i < n; ++i) { int x, y; vecMap[x].push_back(y); vecMap[y].push_back(x); //若是无向图就加上这一句}(2.

2022-04-12 14:54:52 1430

原创 ranko的手表(枚举)

(1)思路:枚举所有t1,t2可能的分钟数(转换成分钟好算),再遍历这些枚举的可能结果,不断维护更新最大时间间距和最小时间间距,主要就是这个过程该如何枚举:见代码有注释(时有十位和个位,分有十位和个位)(2)测试数据18:0?2?:1?(3)代码:// 贪心可以,但是考虑的情况很多且复杂 // 24 *60 枚举可以过// 将时分统一转换为分钟,到时候好算// 枚举t1和t2可能的分钟数,合理的先加入到vector容器中 #include <bits/stdc++.h&.

2022-04-10 17:05:14 1027

原创 数位染色(状压枚举/dfs)

(1)思路:x的范围不超过1e18,所以x最多只有19位数字。O(n2^n)状压枚举每位选或不选即可通过。(每个位置上两种状态0或1,多少位置,2的多少次方)还需要遍历n;代码中有注释,可以先看一遍代码,方便理解(2)测试数据1234567(3)代码(状压—状态压缩)// 状压基本模板 #include <bits/stdc++.h>using namespace std;#define ll long long int zt[22]; //代表每一位上的数字,等下..

2022-04-10 15:33:48 719

原创 you和帆船(枚举)

(1)测试数据21 00 1(2)代码(思路在注释中)// 直接枚举 //2 ≤n ≤2000 可以枚举 #include <bits/stdc++.h>using namespace std;int n;const int N = 2005;int a[N][2]; double minDis = 1e9; //最小路径和 int main () { double tmp; cin >> n; // 输入宝藏的地点 for (int i =.

2022-04-10 14:31:36 195

原创 chika和蜜柑(贪心/优先队列)

chika和蜜柑(1)思路:贪心按照甜度最大的来取(从大到小排序),遇到相同甜度的去酸度最小(从小到大排序),可以用sort也可以用优先队列来写;(2)测试数据3 21 3 42 2 5(3)代码(贪心思想 + sort)#include <bits/stdc++.h>using namespace std;#define ll long longint n;// 在C++的语法里面,可以直接用 结构体名字来定义变量,而无需用typedef重命名 struct

2022-04-09 21:55:04 520

原创 疯狂的自我检索者(贪心)

疯狂的自我检索者(1)关键思路贪心的思想:未知的人都打5分,就是最大的了,未知的人都打1分,就是最小的了;(2)测试数据5 11 2 3 4(3)代码// 贪心 #include <bits/stdc++.h>using namespace std;#define ll long long ll n, m;double avMax;double avMin;int main () { ll x; cin >> n >> m;

2022-04-09 20:48:01 419

原创 贪心算法的介绍+枚举算法的介绍(brute force):包含练手题目

一、什么是贪心算法贪心值每一步都做出当前最优的选择。一般解决的问题有如下特点:局部最优能导致全局最优。1. 举个例子:问题如下:纸币面额有1元、2元、10元、100元。问凑出正好x元最少要多少张纸币?关键思路:我们就可以用贪心,每一次都尽量取面额大的,不断凑出x;为什么这样贪心不会有问题?因为 1 2 10 100, 这些数字之间,他们有整除关系,这意味着,多张小面额的纸币,一定可以被面额大的数字所代替;如果现在的纸币面额为1 15 17 21,那么还可以用贪心吗?思考一下;现在已

2022-04-09 19:56:57 539

原创 kotori和n皇后

kotori和n皇后(1)测试数据51 22 53 16 74 8224(2)关键思路开4个set,分别存x、y、x + y、x - y;遍历时,不断查询每个点是否在某个set里面存在,若不存在则分别加入4个set。否则证明和之前的皇后会攻击(把这个i皇后保留下来);现在来说一下,为什么要保留这四个;x, or y集合中如果有已经相等的,说明是在同一行或者同一列(同行和同列会互相攻击);x - y存进集合中如果有已经相等的,说明在同45斜角(x1 - y1 == x2

2022-04-08 22:38:45 365

原创 算术教室(两种方法,一种set,一种利用二分)

算术教室关键思路:方法一:将a数组排好序后,然后遍历b数组,利用二分查找的方法(logn),在a数组中查找x-b[i];(这个方法先略过,以后有时间补上,这里主要是熟悉STL操作);方法二:利用set集合,将a数组输入到set集合中,然后在集合中查找x - b[i](1)测试数据5 4 121 3 4 5 93 4 6 10(2)代码(set)#include <bits/stdc++.h>using namespace std;#define ll long l

2022-04-08 20:56:42 514

原创 计划清单(模拟)

思路:双端队列+结构体模拟#include <bits/stdc++.h>using namespace std;struct Task { string name; long long lel;};deque<Task> dq;// 双端队列long long n;int main() { cin >> n; for (int i = 0; i < n; ++i) { Task tmp; cin >> tmp....

2022-04-08 19:16:03 155

原创 小红练心算

思路:把握三个数字,构造一个函数,返回值是下一个平方的数字(m),然后更新a(k:全局变量)与a+2*x(t:全局变量,!!!但是但是,为了最后的输出方便,t就接收较大的值,也就是说t可等于更新后的a,例如:48 ,k = 46,,t = 50,看代码吧,这里说的不好),这里我们用括号里面的数字简略代替,什么意思呢?我们用939来举例经过一次函数调用之后,k = 900,t = 978,m = 39(待平方的数字);所有的乘积小的数一定写在大的数前面这题用long long,数据挺大的;可以算...

2022-04-08 17:03:09 158

原创 小红和R (模拟)

思路:找规律第一行,输出n+2个R;接下来n行,先输出一个R,然后输出n个空格,接着再输出一个R来结尾;接下来,输出n+2个R;接下来的n+1行,每行都是输出两个R,注意,两个R之间有空格,空格的个数从0开始递增,知道最后一行有时候这样的题,单个看,不好看,就得一块一块的分区看,来找规律;#include <bits/stdc++.h>using namespace std;int n;int main() { cin >> n; for (int i ...

2022-04-08 14:09:22 112

原创 小红填符号

小红填符号思路:模拟(16个if),这是暴力的方法#include <bits/stdc++.h>using namespace std;double a, b, c, x; // !!!// 注意要特判除0的情况 int main (){ cin >> a >> b >> c >> x; if (a + b + c == x) cout << "+ +" << endl; else if (

2022-04-08 13:49:38 108

原创 小红划数字

小红划数字关键思路:这个数的个位数字是偶数,那它就是偶数;所以我们可以优先划掉后面的数字,直到遇到偶数为止;不要想的太复杂了;#include <bits/stdc++.h>using namespace std;string nums;int main() { cin >> nums; bool flag = false; int lenN = nums.size(); int ans = 0; for (int i = lenN - 1; i

2022-04-07 21:57:08 187

原创 STL 相关知识点粗略浅过一下(包括迭代器)

一、vector(1)代码// vector// vector 大多数情况下可以代替普通数组(vector 可变长度)#include <bits/stdc++.h>using namespace std;//模拟图的邻接表int main () { vector<int> a[10010]; //建议vector数组开大点 int n, m; // n 个结点,m条边 cin >> n >>m; for (int i = 0; i

2022-04-07 17:37:45 345

CJSON的源码,C语言学习库

CJSON源码(.h,.c)

2022-08-11

labuladong算法中文手册完整版

labuladong算法中文手册完整版,包含一系列的算法基础,无惧大厂刷题

2022-04-17

C51 单片机 相关的开发工具

包含单片夹开发的一些开发软件含有keil,字取模软件,烧录软件等等

2022-01-02

算法设计与分析答案.pdf

算法设计与分析(第2版)曲婉玲编著 课后习题答案

2021-12-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除