算法题(Java)
用java解决算法题
新手且笨蛋37
阿巴阿巴
展开
-
算法题(1)
先把字符串用数组分隔开,统计第一个DNA和第二个DNA有几个不同,不同的里面count1记录A的个数,count2记录T的个数(记录第一个DNA的)。没一对不同的A和T可以之间调换解决,不能构成一对的就要直接替换,所以结果为 对数+多出的个数 ,即count1和count2中的大值。原创 2022-09-08 15:58:45 · 146 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】排座椅
题目描述上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的 D 对同学上课时会交头接耳。同学们在教室中坐成了 M 行 N 列,坐在第 i 行第 j 列的同学的位置是(i,j),为了方便同学们进出,在教室中设置了 K 条横向的通道,L 条纵向的通道。于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因为如果一条通道隔开了两个会交原创 2022-03-26 17:29:58 · 1433 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】答疑
题目描述有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。老师可以安排答疑的顺序,同学们要依次进入老师办公室答疑。 一位同学答疑的过程如下:首先进入办公室,编号为 i 的同学需要 si 毫秒的时间。然后同学问问题老师解答,编号为 ii 的同学需要 ai 毫秒的时间。答疑完成后,同学很高兴,会在课程群里面发一条消息,需要的时间可 以忽略。最后同学收拾东西离开办公室,需要 ei 毫秒的时间。一般需要 10 秒、20 秒或 30 秒,即 ei取值为 10000,20000 或 3000原创 2022-03-25 13:03:43 · 200 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】分巧克力
题目描述儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数;大小相同;例如一块 6x5 的巧克力可以切出 6 块 2x2 的巧克力或者 2 块 3x3 的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?输入描述第一行包含两个整数 N,K原创 2022-03-23 16:32:32 · 98 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】大学里的树木
题目描述教室外有 N 棵树(树的编号从 0∼N−1),根据不同的位置和树种,学校要对其上不同的药。因为树的排列成线性,且非常长,我们可以将它们看作一条直线给他们编号。对于树的药是成区间分布,比如 3∼5 号的树靠近下水道,所以他们要用驱蚊虫的药, 20∼26 号的树,他们排水不好,容易涝所以要给他们用点促进根系的药 ⋯诸如此类。每种不同的药要花不同的钱。现在已知共有 M 个这样的区间,并且给你每个区间花的钱,问最后这些树木要花多少药费。输入描述每组输入的第一行有两个整数 N和 M。N 代表马路原创 2022-03-22 16:15:19 · 119 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】座次问题
题目描述小 A 的学校,老师好不容易解决了蓝桥杯的报名问题,现在老师又犯愁了。现在有 N 位同学参加比赛,但是老师想给他们排座位,但是排列方式太多了。老师非常想弄明白最后的排座次的结果是什么样子的,到底有多少种结果。请设计一个程序帮助老师。最后输出各种情况的人名即可,一行一种情况,每种情况的名字按照报名即输入顺序排序。输入描述输入第一行包含一个整数 N。接下来 N 行每行包含一个字符串 Si,表示人名。1<=N<=10,输出描述输出共若干行,每行输出各种情况的人名。一行一种原创 2022-03-21 19:13:17 · 240 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】42点问题
题目描述请你设计一个程序对该问题进行解答。众所周知在扑克牌中,有一个老掉牙的游戏叫做 24 点,选取 4 张牌进行加减乘除,看是否能得出 24 这个答案。现在小蓝同学发明了一个新游戏,他从扑克牌中依次抽出6张牌,注意不是一次抽出,进行计算,看是否能够组成 42 点,满足输出 YES,反之输出 NO。最先抽出来的牌作为第一个操作数,抽出牌做第二个操作数,运算结果再当作第一个操作数,继续进行操作。注:除不尽的情况保留整数,而且扑克牌的四张 10 都丢了,不会出现 10。请设计一个程序对该问题进行解答原创 2022-03-20 17:05:06 · 4106 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】天干地支
题目描述古代中国使用天干地支来记录当前的年份。天干一共有十个,分别为:甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)。地支一共有十二个,分别为:子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、 亥(hài)。将天干和地支连起来,就组成了一个天干地支的年份,例如:甲子。2020 年是庚子年。每过一年,天干原创 2022-03-18 17:07:29 · 297 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】既约分数
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。例如 3/4 ,1/8 ,7/1 , 都是既约分数。请问,有多少个既约分数,分子和分母都是 1 到 2020 之间的整数(包括 1 和 2020)?源码实现本题主要知识点是辗转相除法找最小公倍数,不知道辗转相除法的可以报百度一下public class 既约分数 { public static void main(String[] args)原创 2022-03-18 16:55:55 · 363 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】求值
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。学习了约数后,小明对于约数很好奇,他发现,给定一个正整数 t,总是可以找到含有 t 个约数的整数。小明对于含有 t 个约数的最小数非常感兴趣,并把它定义为 St 。例如 S1 = 1, S2 = 2, S3 = 4, S4 = 6,· · ·。现在小明想知道,当 t=100 时,St是多少?即 S100是多少?源码实现public class 求值 { public static void main(Stri原创 2022-03-18 15:09:57 · 415 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】算式问题
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。看这个算式:☆☆☆ + ☆☆☆ = ☆☆☆如果每个五角星代表 1 ~ 9 的不同的数字。这个算式有多少种可能的正确填写方法?173 + 286 = 459295 + 173 = 468173 + 295 = 468183 + 492 = 675以上都是正确的填写法!注意: 111 + 222 = 333 是错误的填写法! 因为每个数字必须是不同的! 也就是说:1 ~ 9中的所有数字,每个必须出现且仅出现一次原创 2022-03-18 14:36:34 · 551 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】快递分拣
题目描述蓝桥王国的每个快递都包含两个参数:1.快递单号 2.快递城市。小李是蓝桥王国的一名快递员,每天的快递分拣让他苦不堪言。于是他想要你帮他设计一个程序用于快递的分拣(将不同快递按城市信息分开)。输入描述输入第一行包含一个整数 N,表示快递的个数。接下来第 2∼N+1 行每行包含一个字符串 S 和一个字符串 P,分别快递单号以及快递对应的城市。1≤N≤10^3 ,保证数据量不超过 10^6。输出描述输出共若干行。按城市的输入顺序依次输出城市的名称以及城市的快递个数,以及该城市的所有快递单原创 2022-03-17 15:37:44 · 181 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】弗里的的语言(hash)
题目描述小发明家弗里想创造一种新的语言,众所周知,发明一门语言是非常困难的,首先你就要克服一个困难就是,有大量的单词需要处理,现在弗里求助你帮他写一款程序,判断是否出现重复的两个单词。输入描述第 1 行,输入 N,代表共计创造了多少个单词。第 2 行至第 N+1 行,输入 N 个单词。1≤N≤10^4,保证字符串的总输入量不超过 10^6。输出描述输出仅一行。若有重复的单词,就输出重复单词,没有重复单词,就输出 NO,多个重复单词输出最先出现的。输入61fagasdsafa32jl原创 2022-03-14 22:45:25 · 1139 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】小邋遢的衣橱
题目描述小邋遢 MS.Jinlin 是个爱打扮的公主,他有很多晚礼服如 “LALA”“NIHAOMA” “WOBUHAO” “NIHAOBUHAO” 等众多衣服,可是由于衣服太多他要把它们装进箱子,但是作为公主,肯定是会突发奇想觉得哪件衣服好看,就把他拿了出来,当然那件衣服上面的衣服也被拿出来了,而且会弄乱了,小邋遢在经过几次的叠衣服和取衣服后,他想知道箱子里最上面的衣服是哪一件,如果箱子为空的话,就告诉她 Empty ,如果有多件一样的衣服,肯定是取走最上面的哪一件啦。输入描述第 1 行,输入N,代原创 2022-03-13 14:56:05 · 534 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】CLZ 的银行队列
题目描述CLZ 银行只有两个接待窗口,VIP 窗口和普通窗口,VIP 用户进入 VIP 窗口排队,剩下的进入普通窗口排队。现有 M 次操作,操作有四种类型,如下:IN name V:表示一名叫 name 的用户到 VIP 窗口排队OUT V:表示 VIP 窗口队头的用户离开排队IN name N:表示一名叫 name 的用户到普通窗口排队OUT N:表示普通窗口队头的用户离开排队求 M 次操作结束后 VIP 窗口队列和普通窗口队列中的姓名。输入描述第一行是一个整数 M(1≤M≤1000),表原创 2022-03-12 16:35:10 · 563 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】约瑟夫环
题目描述设有 n 个人围坐在圆桌周围,现从某个位置 k 上的人开始报数,报数到 m 的人就站出来。下一个人,即原来的第 m+1 个位置上的人,又从 1 开始报数,再报数到 m 的人站出来。依次重复下去,直到全部的人都站出来为止。试设计一个程序求出这 n 个人的出列顺序。要求一:采用循环链表解决。要求二:可以使用模拟法,模拟循环链表。要求三:可以不使用循环链表类的定义使用方式。输入描述输入只有一行且为用空格隔开的三个正整数 n,k,m,其含义如上所述。输出描述共 n 行,表示这 n 个人的原创 2022-03-11 23:39:21 · 907 阅读 · 0 评论 -
【蓝桥杯省赛学习题Java】小王子链表
题目描述小王子有一天迷上了排队的游戏,桌子上有标号为 1-10 的 10 个玩具,现在小王子将他们排成一列,可小王子还是太小了,他不确定他到底想把那个玩具摆在哪里,直到最后才能排成一条直线,求玩具的编号。已知他排了 M 次,每次都是选取标号为 X 个放到最前面,求每次排完后玩具的编号序列。要求一:采用单链表解决输入描述第一行是一个整数 M,表示小王子排玩具的次数。随后 M 行每行包含一个整数 X,表示小王子要把编号为 X 的玩具放在最前面。输出描述共 M 行,第 i 行输出小王子第 i 次原创 2022-03-11 15:37:56 · 4050 阅读 · 0 评论