蓝桥杯
主要是往年蓝桥杯试题
骑着蜗牛ひ追导弹'
鲸落于海,星沉于洼,风隐于密林,蝉鸣漏进夏至。
展开
-
【数据结构与算法】内容介绍
文章目录一、数据结构与算法的重要性二、数据结构和算法的关系三、实际编程案例◆ 单链表◆ 稀疏数组◆ 单向环形列表◆ 其他常见算法问题四、线性结构和非线性结构● 线性结构● 非线性结构一、数据结构与算法的重要性算法是程序的灵魂,优秀的程序可以在海量数据计算时,依然保持高速计算。一般来讲 程序会使用了内存计算框架(比如Spark)和缓存技术(比如Redis等)来优化程序,再深入的思考一下,这些计算框架和缓存技术, 它的核心功能是哪个部分呢?比如在Unix下开发服务器程序,功能是要支持上..原创 2021-01-23 21:50:45 · 229 阅读 · 0 评论 -
【数据结构与算法】单链表 ----节点的修改、删除
文章目录单链表的操作节点的修改节点的删除单链表的操作节点的修改在之前创建好链表的基础上,我们对其中的节点进行修改:编号不变,英雄名称和昵称可以改变。主要的思路就是,通过修改方法传入新的节点(节点编号任意),若节点编号与已存在的节点相等,进行修改;否则,不好修改。 //进行节点的修改 ---- 根据no编号进行 public void update(HeroNode newHeroNode){ if (head.next==null){ ..原创 2021-02-05 20:11:58 · 507 阅读 · 0 评论 -
【数据结构与算法】单链表(SingleLinkedList)
文章目录链表一、链表内存存储结构介绍二、链表逻辑结构介绍三、单链表的应用实例 使用带head头的单向链表实现 –水浒英雄排行榜管理♑ 添加英雄时,直接添加到链表的尾部♑ 添加英雄时,根据排名将英雄插入到指定位置链表一、链表内存存储结构介绍链表是以节点的方式来存储,是链式存储每个节点包含 data 域:当前节点的值, next 域:指向下一个节点链表的各个节点不一定是连续存储 ---- 靠next域进行节点间的连接指向,最后链表的以NULL值结束链表分带头节点的链表和没有..原创 2021-02-03 20:54:01 · 295 阅读 · 0 评论 -
【数据结构与算法】稀疏数组 sparsearray
文章目录一、实际应用♦ 场景♦ 分析问题二、稀疏数组介绍♦ 定义♦ 稀疏数组的处理方法三、应用实例♦ 需求分析♦ 代码实现▶创建原始二维数组▶创建稀疏数组▶稀疏数组还原成二维数组一、实际应用♦ 场景编写的五子棋程序中,有存盘退出和续上盘的功能。♦ 分析问题我们将棋盘看成是一个二维的数组,利用数字来代表其中的棋子。因为该二维数组的很多值是默认值0, 因此记录了很多没有意义的数据 -> 可以利用稀疏数组压缩实现。返回顶部二、稀疏数组介绍♦ 定义当一个数组中大部分元素为0..原创 2021-01-25 22:34:59 · 168 阅读 · 0 评论 -
【数据结构与算法】队列
文章目录一、队列基本介绍二、数组模拟队列♦ 流程分析♦ 代码实现♦ 测试三、数组模拟环形队列♦ 思路分析♦ 代码实现♦ 测试四、优化解析一、队列基本介绍1.队列是一个有序列表,可以用数组或是链表来实现。、队列是一种先进先出(first in first out = FIFO)的结构。FIFO是单片机的FIFO吗?它是一种线性表,只允许在表的一端插入元素,另一端删除元素。在队列中,能插入的一端叫队尾,允许删除的一端叫队头。2.遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取..原创 2021-01-27 17:35:31 · 219 阅读 · 0 评论 -
【2014省赛试题】地宫取宝
标题:地宫取宝国王有一个地宫宝库。是n * m个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是 k 件,则这些宝贝就可以送给小明。 请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这k件宝贝。【数据格式】输入一行3个原创 2021-04-14 18:08:46 · 115 阅读 · 0 评论 -
【2014省赛试题】分糖果
标题:分糖果有 n 个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止你的任务是预在已知的初始糖果情形下,老师一共需要补发多少个糖果。【格式要求】程序首先读入一个整数 N (2<N<100),表示小朋友的人数。接着是一行用空格分开的 N 个偶数(每个偶数不大于1000,不小于2)要求原创 2021-04-14 16:16:56 · 183 阅读 · 0 评论 -
【2014省赛试题】奇怪的分式(递归求公约数)
标题:奇怪的分式上小学的时候小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是1~9中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1乘以5/8是满足要求的,这算做不同的算式。但对于分子分母相同的情况,2/2乘以3/3这样的类型太多了,不在计数之列!注意:答案是个原创 2021-04-02 17:03:50 · 167 阅读 · 0 评论 -
【2014省赛试题】圆周率
标题:圆周率数学发展历史上,圆周率的计算曾有许多有趣至是传奇的故事。图1.png中所示,就是一种用连分数的形式表示的圆周率求法。下面的程序实现了该求解方法。实际上数列的收敛对x的初始值并不敏感。结果打印出周率近似值(保留小数点后4位,并不一定与圆周率真值吻合)。填空:double x = 111; for(int n =10000; n>=0; n--){ int i =2*n+1; x =2+(i*i/x); } System.out.println(Stri原创 2021-04-02 15:52:03 · 213 阅读 · 0 评论 -
【2014省赛试题】大衍数列
标题:大衍数列中国古代文献中,曾记载过“大衍数列”,主要用于解释中国传统文化中的太极衍生原理。它的前几项是:0、2、4、8、12、18、24、32、40、50其规律是:对偶数项,是序号平方再除 2,奇数项,是序号平方减 1 再除 2以下的代码打印出了大衍数列的前100项。public class Test04_大衍数列 { public static void main(String[] args) { for (int i=1;i<100;i++){原创 2021-04-02 15:33:26 · 408 阅读 · 0 评论 -
【2014省赛试题】武功秘籍
标题:武功秘籍小明到 X山洞 探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走?这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。public class Test03_武功秘籍 { public static void main(String[] args) { /*TODO原创 2021-04-02 14:45:52 · 238 阅读 · 2 评论 -
【2014省赛试题】猜字母
标题:猜字母把 abcd..s 共19个字母组成的序列重复拼接 106 次,得到长度为 ==2014 ==的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。在这里插入代码片...原创 2021-04-02 14:40:50 · 151 阅读 · 0 评论 -
【2014省赛试题】切面条
标题:切面条一根高筋拉面,中间切一可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。public class Test01_切面条 { public static void main(String[] args) { //TODO: 面条根数始终和切点数差 1 // 折数原创 2021-04-01 20:39:56 · 112 阅读 · 0 评论 -
【2013省赛试题】振兴中华
标题:振兴中华小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示: 从我做起振 我做起振兴 做起振兴中 起振兴中华规则:比赛时,先站在左上角的写着“从”字的格子里可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束要求跳过的路线刚好构成“从我做起振兴中华这句话”。 请你帮助小明算一算他一共有多少种可能的跳跃路原创 2021-03-21 18:49:52 · 155 阅读 · 0 评论 -
【2013省赛试题】连号区间数
标题:连号区间数小明这些天一直在思考这样一个奇怪而有趣的问题: 在1-N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L,R]里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间;当N很小的时候,小明可以很快地算出答案,但是当变大的时候,问题就不是那么简单了,现在小明需要你的帮助输入格式:第一行是一个正整数N(1<=N<=50000),表示全排列的规模第二行是N个不同的数字Pi(1<原创 2021-03-19 20:25:10 · 140 阅读 · 0 评论 -
【2013省赛试题】世纪末的星期
标题:世纪末的星期曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破~ 还有人称今后的某个世纪末的12月31日,如果是星期一则会… 有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一于是,“谣言制造商”又修改为星期日…1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的1月31日正好是星期天(即星期日)?请回答该年份(只写这个4位整数,不要写12月31等多余信息)...原创 2021-03-19 17:18:34 · 141 阅读 · 0 评论 -
【2013 省赛试题】幸运数
文章目录幸运数幸运数幸运数是波兰数学家乌拉姆命名的,它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6.....1就是第一个幸运数,我们从2这个数开始。把所有序号能被整除的项删除,变为1_3_5_7_9.......把它们缩紧,重新记序,为:1,3,5,7,9....这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去(注意,是序号位置,不是那个数本身能否被3整除!!删除的应该是5,11,17…)。此时7为第3个幸运数,然后再删去序号..原创 2021-02-20 17:35:10 · 163 阅读 · 0 评论 -
【2013 省赛试题】错误票据
文章目录错误票据错误票据 某涉密单位下发了某种票据,并要在年终全部收回。 • 每张票据有唯一的ID号。 • 全年所有票据的ID是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务: • 通过编程,找出断号的ID和重号的ID 假设断号不可能发生在最大和最小号。 要求程序: • 首先输入一个整数(N<100)表示后面数据行..原创 2021-02-18 19:27:02 · 220 阅读 · 0 评论 -
【2013 省赛试题】三部排序
文章目录三部排序一、步骤分析二、完整代码三部排序一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。比如,对一个整型数组中的数字进行分类排序:使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!以下的程序实现了该目标,请进行填空完成代码。while (p<=right){ ..原创 2021-02-08 21:46:54 · 278 阅读 · 2 评论 -
【2013 省赛试题】有理数
文章目录有理数一、步骤解析① 整体流程② add()二、完整代码有理数有理数就是可以表示为两个整数的比值的数字。一般情况下,我们用近似的小数表示。但有些时候,不允许出现误差,必须用两个整数来表示一个有理数,也就是以分数的形式。这时,我们可以建立一个“有理数类”,下面的代码初步实现了这个目标。为了简明它只提供了加法和乘法运算,请完成填空~// 加法public Rational add(Rational x){ return _____________________..原创 2021-02-08 19:09:37 · 167 阅读 · 0 评论 -
【2013 省赛试题】黄金连分数
文章目录黄金连分数黄金连分数黄金分割数0.61803是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。我们如何求得黄金分割数的尽可能精确的值呢?比较简单的一种是用连分数: 1黄金数 = ------------------------ &..原创 2021-02-05 19:01:04 · 341 阅读 · 0 评论 -
【2013 省赛试题】马虎的算式
文章目录马虎的算式马虎的算式小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36×495?他却给抄成了:396×45=?但结果却很戏剧性,他的答案竟然是对的!因为36×495=396×45=17820,类似这样的巧合情况可能还有很多,比如:27×594=297×54。假设代表1~9不同的5个数字(注意是各不相同的数字),且不含0,能满足形如:ab×cde= adb×ce 这样的算式一共有多少种呢?请你利用计算机的优势寻找所有的可能,并回答不同算式的..原创 2021-02-05 17:10:03 · 220 阅读 · 0 评论