自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 LeetCode142.环形链表II

【代码】LeetCode142.环形链表II。

2024-01-19 10:18:11 424

原创 LeetCode面试题02.07链表相交

【代码】LeetCode面试题02.07链表相交。

2024-01-18 18:10:42 513

原创 LeetCode19:删除链表的倒数第N个结点

}*/i < n;i ++) { //first指针向后走n步= null) {//当first走向最后一个节点时终止,此时second节点走到倒数第N+1个节点//first和second指针同时走//注意这里不能返回head。因为头结点head有可能被删掉。

2024-01-18 15:32:47 534

原创 LeetCode24.两两交换链表中的节点

b.next = a;p = a;```

2024-01-18 11:29:25 530

原创 LeetCode:707. 设计链表

【代码】LeetCode:707. 设计链表。

2024-01-17 17:15:53 423 1

原创 LeetCode:206. 反转链表

【代码】LeetCode:206. 反转链表。

2024-01-15 22:08:02 448

原创 LeetCode 203.移除链表元素

【代码】LeetCode 203.移除链表元素。

2024-01-15 21:30:26 475

原创 209. 长度最小的子数组

start ++;end ++;0 : ans;

2023-12-25 17:10:25 56

原创 977.有序数组的平方

力扣题目链接

2023-12-24 16:52:12 58

原创 Leetcode:27. 移除元素

if ( x!return idx;

2023-12-24 15:45:15 148

原创 Leetcode:704. 二分查找

【代码】Leetcode:704. 二分查找。

2023-12-24 14:18:03 126

原创 多重背包问题 II(二进制优化)

有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N≤10000<V≤20000<vi,wi,si≤200

2021-05-03 20:02:59 196

原创 多重背包问题 I

有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤1000<vi,wi,si≤100输入样例4 51

2021-05-01 21:52:08 137

原创 完全背包问题

有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 51 22

2021-04-30 16:14:33 196 1

原创 01背包问题

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 51 22

2021-04-29 09:45:37 309

原创 2021-04-21

项目项目项目项目1 是项目2项目3 计划任务 完成任务

2021-04-21 14:59:20 57

原创 [蓝桥杯2018初赛]第几个幸运数

到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。前10个幸运数字是:3 5 7 9 15 21 25 27 35 45,因而第11个幸运数字是:49小明领到了一个幸运数字 59084709587505。去领奖的时候,人家要求他准确说出这是第几个幸运数字,否则领不到奖品。请你帮小明计算一下,59084709587505是第几个幸运数字。枚举每一个数,然后再判断,会超时,运行不出来;我

2021-04-17 10:08:29 141

原创 [蓝桥杯2020决赛]扩散

小蓝在一张无限大的特殊画布上作画。这张画布可以看成一个方格图,每个格子可以用一个二维的整数坐标表示。小蓝在画布上首先点了一下几个点:(0, 0), (2020, 11), (11, 14), (2000, 2000)。只有这几个格子上有黑色,其它位置都是白色的。每过一分钟,黑色就会扩散一点。具体的,如果一个格子里面是黑色,它就会扩散到上、下、左、右四个相邻的格子中,使得这四个格子也变成黑色(如果原来就是黑色,则还是黑色)。请问,经过 2020 分钟后,画布上有多少个格子是黑色的。①bfs解

2021-04-14 17:28:59 338

原创 [蓝桥杯2017初赛]纸牌三角形

A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。下图就是一种排法这样的排法可能会有很多。如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?输出输出一个整数表示答案思路:对9个数全排列,注意去重(翻转3次,镜像2次)#include <iostream>#include <algorithm>using namespace std;int a[9] = {1,2,3,4,5,6,7,8,9};bool

2021-04-14 16:00:03 116

原创 [蓝桥杯2017初赛]九宫幻方

小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分。三阶幻方指的是将1~9不重复的填入一个33的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀:“二四为肩,六八为足,左三右七,戴九履一,五居其中”,通过这样的一句口诀就能够非常完美的构造出一个九宫格来。4 9 23 5 78 1 6有意思的是,所有的三阶幻方,都可以通过这样一个九宫格进行若干镜像和旋转操作之后得到。现在小明准备将一个三阶幻方(不一定是上图

2021-04-11 11:06:08 162

原创 [蓝桥杯2017初赛]承压计算

X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。其中的数字代表金属块的重量(计量单位较大)。(参考输入中的金字塔)最下一层的X代表30台极高精度的电子秤。假设每块原料的重量都十分精确地平均落在下方的两个金属块上,最后,所有的金属块的重量都严格精确地平分落在最底层的电子秤上。电子秤的计量单位很小,所以显示的数字很大。工作人员发现,其中读数最小的电子秤的示数为:2086458231请你推算出:读数最大的电子秤的示

2021-04-09 20:39:14 292

原创 [蓝桥杯2017初赛]等差素数列

2,3,5,7,11,13,…是素数序列。类似:7,37,67,97,127,157 这样全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?思路:因为这题是填空题,求长度为10的等差素数列,猜想最大的数应该不会超过10000,因此先枚举2~10000每个数,判断一下是否是素数;先

2021-04-09 19:32:19 169

原创 [蓝桥杯2017初赛]方格分割

6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如图就是可行的分割法。试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。输出一个整数表示答案由上图可以看到分界线上的点关于(3,3)对称,因此,从(3,3)这个点向上下左右四个方向搜索,在搜索的时候将其关于(3,3)对称的点也标记成搜素过,这样在搜索到出口时,得到的图形就是对称的,注意上下和左右方向是对称的,在搜的时候会重复计算,因此得到的结果/4#include <iostrea

2021-04-09 13:55:34 104

原创 [蓝桥杯2017初赛]青蛙跳杯子

X 星球的流行宠物是青蛙,一般有两种颜色:白色和黑色。X 星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去。如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙。*WWWBBB其中,W 字母表示白色青蛙,B 字母表示黑色青蛙,* 表示空杯子。X 星的青蛙很有些癖好,它们只做 3 个动作之一:跳到相邻的空杯子里。隔着 1 只其它的青蛙(随便什么颜色)跳到空杯子里。隔着 2 只其它的青蛙(随便什么颜色)跳到空杯子里。对于上图的局面,只要 1 步,就可跳成下图局面

2021-04-09 10:31:43 251

原创 [蓝桥杯2017初赛]跳蚱蜢

如图所示: 有9只盘子,排成1个圆圈。其中8只盘子内装着8只蚱蜢,有一个是空盘。我们把这些蚱蜢顺时针编号为 1~8。每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中。请你计算一下,如果要使得蚱蜢们的队形改为按照逆时针排列,并且保持空盘的位置不变(也就是1-8换位,2-7换位,…),至少要经过多少次跳跃?输出一个整数表示答案思路:...

2021-04-09 10:16:08 152

原创 [蓝桥杯2016初赛]卡片换位

你玩过华容道的游戏吗?这是个类似的,但更简单的游戏。看下面 3x2 的格子在其中放 5 张牌,其中 A 代表关羽,B 代表张飞,* 代表士兵。还有一个格子是空着的。你可以把一张牌移动到相邻的空格中去(对角不算相邻)。游戏的目标是:关羽和张飞交换位置,其它的牌随便在哪里都可以。输入格式输入两行 6 个字符表示当前的局面。输出格式一个整数,表示最少多少步,才能把 AB 换位(其它牌位置随意)。思路:和八数码类似①用getline()读入两行字符串,用一个start字符串拼接两行字符串

2021-04-08 14:42:03 178

原创 八数码(bfs)

在一个 3×3 的网格中,1∼8 这 8 个数字和一个 x 恰好不重不漏地分布在这 3×3 的网格中。例如:1 2 3x 4 67 5 8在游戏过程中,可以把 x 与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 x例如,示例中图形就可以通过让 x 先后与右、下、右三个方向的数字交换成功得到正确排列。交换过程如下:1 2 3 1 2 3 1 2 3 1 2 3x 4 6 4

2021-04-08 14:04:37 223

原创 [蓝桥杯2016初赛]交换瓶子

有 N 个瓶子,编号 1∼N,放在架子上。比如有 5 个瓶子:2 1 3 5 4要求每次拿起 2 个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换 2 次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式第一行包含一个整数 N,表示瓶子数量。第二行包含 N 个整数,表示瓶子目前的排列状况。输出格式输出一个正整数,表示至少交换多少次,才能完成排序。数据范围1≤N≤10000,输入样例1:53 1 2 5

2021-04-08 09:53:18 90

原创 [蓝桥杯2016初赛]剪邮票

如下图, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,下面两张图中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。输出请填写表示方案数目的整数。思路:总共有12个格子,可以先用一个一维数组来表示这12个格子,分为7个0和5个1,然后对这12个格子进行全排列。再将这12个格子映射到二维数组中去,对格子是1的进行dfs,判断格子是1的是否能形成一个连通块,如果可以形成,那么答案++这里对12个格子的全排列提

2021-04-06 20:06:33 76

原创 [蓝桥杯2016初赛]寒假作业

现在小学的数学题目也不是那么好玩的。看看这个寒假作业:每个方块代表1~13中的某一个数字,但不能重复。比如:6 + 7 = 139 - 8 = 13 * 4 = 1210 / 2 = 5以及:7 + 6 = 139 - 8 = 13 * 4 = 1210 / 2 = 5就算两种解法。(加法,乘法交换律后算不同的方案)你一共找到了多少种方案?输出请填写表示方案数目的整数。直接枚举1~13,13个数的全排列会超时,因此再dfs时剪枝,当枚举的四个表达式有一个不满足要

2021-04-04 20:51:41 101

原创 [蓝桥杯2016初赛]方格填数

如下的10个格子,填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?输出请填写表示方案数目的整数。#include <iostream>#include <algorithm>using namespace std;int a[10] = {0,1,2,3,4,5,6,7,8,9};int res;bool st[10];bool check(){ if ( abs(a[0] - a[

2021-04-04 20:01:05 100

原创 [蓝桥杯2015初赛]加法变乘法

我们都知道:1+2+3+ … + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+…+1011+12+…+2728+29+…+49 = 2015 就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交。(对于示例,就是提交10)。#include <iostream>using namespace std;int main(){ for (int i = 1 ; i <= 46 ; i

2021-04-04 11:48:17 118

原创 [蓝桥杯2015初赛]三羊献瑞

观察下面的加法算式:其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。输出请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。每个相同的汉字代表相同的数字,这些数字都是在0~9中选, 因此可以枚举所有的数字,对于每一位进行选择,使用STL全排列函数#include <iostream>#include <algorithm>using namespace std;

2021-04-04 11:05:29 141

原创 [蓝桥杯2015初赛]手链样式

小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。他想用它们串成一圈作为手链,送给女朋友。现在小明想知道:如果考虑手链可以随意转动或翻转,一共有多少不同的组合样式?输出请你输出该整数。不要输出任何多余的内容或说明性的文字。思路:首先枚举字符串s的全排列;去掉重复排列(转动和翻转),这里复制一下字符串,存入vector数组中,再翻转复制后的字符串,存入vector数组中,如果枚举字符串s的的排列中,是存入vector中字符串的子串,说明重复,break#include <iostream>

2021-04-03 19:37:35 67

原创 unordered_set || unordered_map

unordered_set:自动删除重复元素,使得集合内元素各不相同 unordered_set<int> q; q.insert(1); q.insert(2); q.insert(1); q.insert(1); q.insert(1); cout << q.size() << endl; // 2 q.erase(1); q.find(1);unordered_set是一个集合,有的时

2021-04-02 18:34:28 116

原创 求最大公约数,__gcd()函数

手写递归版本int gcd(int a, int b){ if (b == 0) return a; return gcd(b , a % b);}直接调用函数__gcd(a,b);

2021-04-02 14:22:47 166

原创 人物相关性分析C++

小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice 和 Bob 有多少次同时出现。更准确的说,小明定义 Alice 和 Bob “同时出现”的意思是:在小说文本中 Alice 和 Bob 之间不超过 K 个字符。例如以下文本:This is a story about Alice and Bob. Alice wants to send a private message to Bob.假设 K=20,则 Alice 和 Bob 同时出现了 2 次,分别是 Alice and Bob

2021-03-27 15:37:36 501

原创 穿越雷区C++

X 星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从 A 区到 B 区去(A,B 区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?已知的地图是一个方阵,上面用字母标出了 A,B 区,其它区都标了正号或负号分别表示正负能量辐射区。例如:A + - + -B + - + -坦克车只能水平或垂直方向上移动到相邻的区。输入格

2021-03-27 13:01:26 614

原创 奇怪的数列C++

从 X 星截获一份电码,是一些数字,如下:13111331131321131113122113…YY 博士经彻夜研究,发现了规律:第一行的数字随便是什么,以后每一行都是对上一行“读出来”。比如第 2 行,是对第 1 行的描述,意思是:1 个 1,1 个 3,所以是:1113。第 3 行,意思是:3 个 1,1 个 3,所以是:3113。请你编写一个程序,可以从初始数字开始,连续进行这样的变换。输入格式第一行输入一个数字组成的串,不超过 100 位。第二行,一个数字 n,表示需要你

2021-03-27 10:50:01 1033

原创 C++字符串string与整数int的互相转化操作

一、string转化成int①采用最原始的string, 然后按照十进制的特点进行算术运算得到int,但是这种方式太麻烦,这里不介绍了。②采用标准库中的atoi函数 string s = "123"; int a = atoi(s.c_str());③采用标准库中的stoi函数 string s = "123"; int a = stoi(s);atoi()的参数是 const char* ,因此对于一个字符串s我们必须调用 c_str()的方法把这个string

2021-03-26 13:59:36 290

空空如也

空空如也

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

TA关注的人

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