自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 问答 (2)
  • 收藏
  • 关注

原创 力扣-234. 回文链表-不同方法对比代码超级简单

【代码】力扣-234. 回文链表-不同方法对比代码超级简单。

2024-05-18 22:32:46 444 1

原创 力扣141. 环形链表-不同方法对比代码超级详细

思路及算法最容易想到的方法是遍历所有节点,每次遍历到一个节点时,判断该节点此前是否被访问过。具体地,我们可以使用哈希表来存储所有已经访问过的节点。每次我们到达一个节点,如果该节点已经存在于哈希表中,则说明该链表是环形链表,否则就将该节点加入哈希表中。重复这一过程,直到我们遍历完整个链表即可。复杂度分析时间复杂度:O(N),其中 N 是链表中的节点数。最坏情况下我们需要遍历每个节点一次。空间复杂度:O(N),其中 N 是链表中的节点数。

2024-05-18 22:30:54 499

原创 力扣-876. 链表的中间结点-快慢指针-不同方法对比代码超级详细

这道题最朴素的做法是,先遍历一次,计算链表的长度,进而计算链表中间结点的下标(注意偶数结点的时候,得到的是中间的第二个结点),然后再遍历一次,来到所要求结点的位置。缺点:必须先遍历完整个链表,然后才可以「干正事」,再遍历到一半,找到中间结点;在链表的长度很长的时候,这种方法之前的等待会很久。

2024-05-18 22:28:04 318

原创 力扣-21.合并两个有序链表-代码说明超详细

● 先判断两个链表头节点存在空时的情况● 找到两个头节点中数值较小的一个作为最终返回的头节点head● cur1为头节点的next结点● cur2为数据较大的头节点中的第一个节点● pre节点初值指向head节点,(由pre来串接两个链表)● 在两个头节点都不为空情况下,进行下面的循环:○ pre指向cur1与cur2中较小的节点(由pre来串接两个链表)○ 随后cur1与cur2中较小的节点后移进行更新,另一个位置不变。

2024-05-18 22:25:26 300

原创 力扣-25.K 个一组翻转链表-代码超级详细

为了将第一次 K 组节点逆序的操作也改写到 while 循环中,可以设置一个哨兵节点(dummy node),让这个节点的 next 指向链表的头节点 head,把这个哨兵节点当做上一组数据的结尾节点lastEnd。

2024-05-18 22:22:11 174

原创 力扣206.单链表的反转-多方法对比超级详细

○ 初始状态时,新的链表头newhead为NULL,temp读取到原链表的节点的数据后next指向newhead(即temp的next指向NULL)○ 经历过几次迭代后,新的链表头newhead后面连接着一大堆的节点,temp读取到原链表的节点的数据后next指向新链表的头节点newhead。● temp每读取一次数据后,temp的next将指向新链表的头部newhead,即新的节点temp插在了新链表的头部(头插)○ 在迭代几次后,pre为反转后链表的头节点,原链表的head指向反转后的链表头节点;

2024-05-18 22:17:05 471

原创 人工智能之进化计算

进化计算为什么需要进化计算进化计算概述遗传算法简单视频介绍链接遗传算法(GA)原理:遗传算法基于达尔文进化论的观点,依照适者生存,优胜劣汰等自然进化法则,通过计算机来模拟生命进化的机制,进行智能优化计算和问题搜索求解。遗传算法目的:通过它的研究来进一步解释自然界的适应过程;为了将自然生物系统的重要机理运用到人工系统的设计中。算法过程1.编码2.随机生成初始种群(通过适应度函数计算适应值)3.选择适应度高的染色体4.交叉5.变异校正条件(结束条件):1.可以是迭代次数(50代左

2022-05-13 20:31:22 1391

原创 一元多项式的乘法与加法运算(链表方法与结构体数组方法)详解

设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22 30 2

2021-03-28 11:34:51 542

原创 最大公约数和最小公倍数

辗转相除法求最大公约数非递归形式int fun(int x,int y){ int a=max(x,y); int b=min(x,y); while(b!=0) { int c=a%b; a=b; b=c; } return a;}递归形式int fun(int x,int y){ int a=max(x,y); int b=min(x,y); return b==0?a:fun(

2021-03-26 15:47:54 200

原创 矩阵乘法运算

主体为三层循环//矩阵乘法#include <bits/stdc++.h>using namespace std;int main(){ int m1, n1; cin >> m1 >> n1; int arr1[m1][n1]; for (int i = 0; i < m1; i++) { for (int j = 0; j < n1; j++) {

2021-03-26 15:41:26 484

原创 帅到没朋友PTA

当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的ID,以空格分隔。注意:没有朋友的人可以是根本没安装“

2021-03-26 15:38:32 184

原创 链表去重PTA(数组模拟)

给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤105,为结点总数)。一个结点的地址是非负的 5 位整数,空地址 NULL 用 -1 来表示。随后 N 行,每行按以下格式描述一个

2021-03-26 15:34:36 821

原创 重排链表(数组模拟)

给定一个单链表 L1→L2→⋯→Ln−1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln−1→L2→⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤105)。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,每行格式为:Address Data Next其中Address是结点地址;Data是该结点保存的数据,为不超过105的正整数;N

2021-03-26 15:26:17 341

原创 出栈序列的合法性PTA(详解)

出栈的每个元素后面,比该元素先入栈的一定按照入栈逆顺序排列。若按由小到大入栈,出栈时对每一个元素,其后所有 小于 此元素值 的元素 是 降序排列的.给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, …, N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。输入格式:输入第一行给出 3 个不超过 1000 的正整数:M(堆

2021-03-26 15:22:16 2056 1

原创 蓝桥杯子串分值和

样例说明【样例说明】子串 f值a 1ab 2aba 2abab 2ababc 3b 1ba 2bab 2babc 3a 1ab 2abc 3b 1bc 2c 1n<=100思路对字符串的所有子串进行遍历,同时对子串进行去重操作。#include <iostream>#include <cstring>using namespace std;char a[105];int b[26];//用来存储字串int ans;void.

2021-03-03 21:49:26 3619 8

原创 P1165 日志分析

题目描述MM 海运公司最近要对旗下仓库的货物进出情况进行统计。目前他们所拥有的唯一记录就是一个记录集装箱进出情况的日志。该日志记录了两类操作:第一类操作为集装箱入库操作,以及该次入库的集装箱重量;第二类操作为集装箱的出库操作。这些记录都严格按时间顺序排列。集装箱入库和出库的规则为先进后出,即每次出库操作出库的集装箱为当前在仓库里所有集装箱中最晚入库的集装箱。出于分析目的,分析人员在日志中随机插入了若干第三类操作――查询操作。分析日志时,每遇到一次查询操作,都要报告出当前仓库中最大集装箱的重量。输入格式

2021-03-03 21:46:32 508 1

原创 如何设置Eclipse的自动补全功能?

Eclipse的自动提示功能很强大,如何设置代码自动提示??1.找到导航栏下的window2.点击Preference3.依次点击 Java—Editor4.找到Editor下的Content Assist并且点击5.在这里输入a至z和“.”,代码提示功能设置完毕。...

2020-12-06 14:41:48 344

原创 Java比较器Comparable与Comparator

当需要对一组对象进行排序的时候,一定要指定比较规则,这种比较规则主要是将某一个类中的几个属性进行比较。对于这种比较器的实现,在Java中有两种接口完成:Comparable:使用的最广泛的一种Comparator:属于挽救的比较的一种Comparable接口Arrays.sort(per); Person已经继承了排序方法如果对象数组要排序,则对象所在的类必须实现Comparable接口。该接口具有唯一的方法compareTo(Object),其定义为: public interf

2020-12-03 19:18:17 179

原创 6翻了,详解

“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。输入格式:输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。输出格式:从左到右扫描输入的句子:如果句子中有超过

2020-11-30 20:50:02 12815

原创 字符串处理---消掉ACM

7-4 消掉ACM (100分)小李是程序设计竞赛爱好者,他现在遇到了这么一个问题:给定一个只有A,C,M三个字母组成的字符串且长度不超过10000000。如果字符串中存在“ACM”子串,那么这个“ACM”子串可以自动消掉,消掉后,后面的元素都前移再变成一个新的完整的字符串。这个新串继续这样做,直到被消成空串或不再有”ACM”子串。GGS的任务是判断给定的字符串是否能被消为空串,如果可以,那么输出YES,否则输出NO。当然,小李可以很快完成这个简单的问题,你也快点去完成吧~输入格式:输入一个字符串只含

2020-11-30 20:07:00 872 2

原创 帅到没朋友详解

当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的ID,以空格分隔。注意:没有朋友的人可以是根本没安装“朋友圈

2020-10-15 20:25:21 323

原创 彩虹瓶详解

彩虹瓶彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去。当一种颜色装填完以后,先看看货架顶端的一箱是不是下一个要装填的颜色,如果是...

2020-10-15 19:14:34 1413

原创 奥运排行榜详解 (25分

7-2 奥运排行榜 (25分)每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口少的国家公布一个“国民人均奖牌榜”,说不定非洲的国家会成为榜魁…… 现在就请你写一个程序,对每个前来咨询的国家按照对其最有利的方式计算它的排名。输入格式:输入的第一行给出两个正整数N和M(≤224,因为世界上共有224个国家和地区),分别是参与排名的国家和地区...

2020-10-15 17:38:38 2022

原创 2.队列

用数组模拟队列队列介绍1)队列是一个有序列表,先入先出 ,可以用数组或是链表来实现。2) maxSize队列的最大容量front队列的最前端 (不含)rear记录队列后端的下标(含)3)当我们将数据存入队列时称为”addQueue”,需要有两个步骤:• 将尾指针往后移:rear++,当front==rear【空】• 若尾指针rear小于队列的最大下标maxSize-1,则将数据存入rear所指的数组元素中,否则无法存入数据。4)出队列 getQueue 及 front++。使用

2020-10-04 17:13:23 162

原创 1、二维数组与稀疏数组

二维数组 转 稀疏数组的思路遍历 原始的二维数组,得到有效数据的个数 sum根据sum 就可以创建 稀疏数组 sparseArr int[sum + 1] [3]将二维数组的有效数据数据存入到 稀疏数组稀疏数组转原始的二维数组的思路先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组,比如上面的 chessArr2 = int [11][11]在读取稀疏数组后几行的数据,并赋给 原始的二维数组 即可.二维数组转稀疏数组package com.atgui..

2020-10-04 17:09:24 291

原创 如何将Eclipse设置为中文版

如何将Eclipse设置为中文版我们知道Eclipse一个开放源代码的、基于Java的可扩展开发平台,不管学习还是工作都是一款不错的集成开发环境(IDE),但是对于一些初学者看到Eclipse上

2020-09-10 12:55:59 102963 77

空空如也

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

TA关注的人

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