2. 基础数据结构初识
2.1 链表 2.1.1 单链表 概念: 链表是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的 链表由一系列结点组成,每个结点中分为存储数据元素的数据域和存储下一个结点的指针域 操作思想 插入:新建一个结点,改变前一个结点的指针指向新建的结点 删除:将删除结点的前…
1. 基础算法初识
1.1快速排序 思想: 先取一个中间的任意值x,将需要排序的序列划分为左右两个区间 以递增为例,使得左区间的数都满足q[i]<=x右区间的数都满足q[i]>=x 然后对左右两个区间分别排序最终得到递增序列 模板 int q[N]; //q[N]为需要排序的序列,需初始化为全局变量 voi…
NC14572 走出迷宫
NC14572 走出迷宫 原题链接 描述 小明现在在玩一个游戏,游戏来到了教学关卡,迷宫是一个N*M的矩阵。 小明的起点在地图中用“S”来表示,终点用“E”来表示,障碍物用“#”来表示,空地用“.”来表示。 障碍物不能通过。小明如果现在在点(x,y)处,那么下一步只能走到相邻的四个格子中的某一个:(…
1902.马拉松(数学思维)
1902.马拉松(数学思维) 原题链接 描述 农夫约翰对他的奶牛们的健康状况并不满意,于是给他的奶牛们报名了各种健身活动。 他最喜欢的奶牛贝茜被报名参加了一个跑步班。 在那里,她有希望在一场马拉松比赛中穿越约翰农场所在的城市的市中心。 马拉松线路由 N 个检查点(编号 1∼N)指定。 检查点 1 是…
1341. 十三号星期五(基姆拉尔森计算公式)
1341. 十三号星期五(基姆拉尔森计算公式) 原题链接 描述 十三号星期五真的很不常见吗? 每个月的十三号是星期五的频率是否比一周中的其他几天低? 请编写一个程序,计算 N 年内每个月的 13 号是星期日,星期一,星期二,星期三,星期四,星期五和星期六的频率。 测试的时间段将会开始于 1900 年…
1346. 回文平方(进制转换模板)
1346. 回文平方(进制转换模板) 原题链接 描述 回文数是指数字从前往后读和从后往前读都相同的数字。 例如数字 12321 就是典型的回文数字。 现在给定你一个整数 B,请你判断 1∼300 之间的所有整数中,有哪些整数的平方转化为 B 进制后,其 B 进制表示是回文数字。 输入格式 一个整数 …
808. 最大公约数 (递归gcd()函数)
808. 最大公约数 (递归gcd()函数) 原题链接 描述 输入两个整数 a 和 b,请你编写一个函数,int gcd(int a, int b), 计算并输出 a 和 b 的最大公约数。 输入格式 共一行,包含两个整数 a 和 b。 输出格式 共一行,包含一个整数,表示 aa 和 bb 的最大公…
1096. 地牢大师(BFS+三维数组)
1096. 地牢大师(BFS+三维数组) 原题链接 你现在被困在一个三维地牢中,需要找到最快脱离的出路! 地牢由若干个单位立方体组成,其中部分不含岩石障碍可以直接通过,部分包含岩石障碍无法通过。 向北,向南,向东,向西,向上或向下移动一个单元距离均需要一分钟。 你不能沿对角线移动,迷宫边界都是坚硬的…
4219. 找倍数
4219. 找倍数 原题链接 给定一个正整数 n,请你找到一个它的非零倍数 m。 要求 m 中只包含数字 0 或 1,并且总位数不超过 100 位。 输入格式 输入包含多组测试数据。 每组数据占一行,包含一个正整数 n。 当输入 n=0 时,表示输入结束。 输出格式 每组数据输出一行 m。 如果方案…
1824. 钻石收藏家(双指针模板)
1824. 钻石收藏家(双指针模板) 原题链接 奶牛贝茜非常喜欢闪闪发光的东西,她会在业余时间开采钻石。 她收藏了 N 颗大小不等的钻石,她想将其中的一些摆放在牛棚的展示柜当中。 为了使展示柜中的钻石尺寸大小相似,她不会将两颗尺寸大小相差超过 K 的钻石同时放在柜子中(刚好相差 K,则没有问题)。 …