![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法初步
yuzhang_zy
现在的我不是最好的我,未来的我才是最好的我,每一篇博客都记录着我的成长
展开
-
6174问题
1. 问题描述2. 思路分析: 首先这是一个固定的四位数,需要将数字从小到大排列起来,这是需要解决的第一个问题,所以我们容易想到的是将这个输入的数字拆分各个数字位,然后保存到一个整型数组中,接下来异步是需要将这个数组中的数字进行从大到小排序,其中我使用到的方法:利用两个循环,其中第一个循环中把最大值赋值给当前正在循环的变量i,其次进入第二个循环,第二个循环中的j加1 意思是往后退...原创 2018-08-14 12:44:55 · 2489 阅读 · 0 评论 -
蛇形填数
1. 问题描述:2. 仔细观察,可以发现可以分为四个循环为一个大循环,在循环里一次判断判断下一个元素是否有值,假如有值就不执行循环,因为数组里面没有初始化的时候默认的值为0,所以此时判断一下就好了依次四个循环:代码如下:import java.util.Scanner;public class Main { public static void main(Str...原创 2018-07-28 18:55:58 · 154 阅读 · 0 评论 -
盛最多水的容器
1. 问题描述:给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情...原创 2018-08-11 19:48:17 · 4555 阅读 · 0 评论 -
括号匹配
1. 问题描述:括号配对问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]",...原创 2019-03-12 12:24:05 · 227 阅读 · 0 评论 -
扑克排序(全排列 + String中API的使用)
1. 问题描述:A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌请填写出所有符合要求的排列中,字典序最小的那个1例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。、请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符...原创 2019-03-17 14:28:08 · 491 阅读 · 0 评论 -
最大子段和(线段树)
1. 问题描述:input:第一行输入的n和数字表示区间1-n区间上的数字,第二行输入给定区间的起始位置和结束位置,第三行到n + 2行输入区间1-n的数字output:输入给定区间的最大子段和(该区间内的代数和是最大的)2. 思路分析:① 对于最大子段和的问题,我们常规的解法是使用线段树来做,通过二分法递归求解,每一次都是分为两个区间,所以需要先取一个中点center,...原创 2019-03-30 19:18:16 · 754 阅读 · 0 评论 -
二进制转为十进制
1. 问题描述:input:从控制台输入二进制串output:输出二进制串对应的十进制数字2. 思路分析:① 方法一:可以使用Java中提供的API进行转换,Long.parseLong(s, 2)或者Integer.parseInt(s, 2)进行转换② 方法二:我们可以遍历输入的字符串当字符串的位上为1的时候那么我们将1左移对应的位数,移动的位数可以根据循环变量来进行...原创 2019-04-04 18:51:45 · 346 阅读 · 0 评论 -
循环节的长度
1. 问题描述:循环节长度两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。下面的方法,可以求出循环节的长度。请仔细阅读代码,并填写划线部分缺少的代码。 public static int f(int n, int m) { n...原创 2019-03-18 17:20:56 · 4024 阅读 · 1 评论 -
形成的最大整数
1. 问题描述:[最大整数]设有n个正整数,将它们连接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343,连成的最大整数为34331213。又如:n=4时,4个整数7,13,4,246,连成的最大整数为74246132. 思路分析:① 我们可以先将输入的数字转化为字符串存入到字符数组中,然后对字符数组中的字符串由小到大进行排序② 排序之后那...原创 2019-04-15 15:54:37 · 356 阅读 · 0 评论 -
立方边自身(枚举)
1. 问题描述:观察下面的现象,某个数字的立方,按位累加仍然等于自身。1^3=18^3=5125+1+2=817^3=49134+9+1+3=17...请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?2. 思路分析:① 主要是进行枚举加上条件即可,首先需要确定的是for循环应该循环到哪里,我们知道99 * 99 * 99...原创 2019-03-18 10:54:32 · 202 阅读 · 0 评论 -
奇怪的分式(枚举 + 判断)
1. 问题描述:上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5 ,小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见下图)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 ...原创 2019-03-17 13:33:32 · 776 阅读 · 0 评论 -
猜字母
1. 问题描述:标题:猜字母把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容2. 思路分析:① 对于...原创 2019-03-17 10:43:47 · 180 阅读 · 0 评论 -
素因子去重
1. 问题描述:问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1输入格式 一个整数,表示n输出格式 输出一行,包含一个整数p。样例输入1000样例输出10数据规模和约定n<=10^12样例解释:n=1000=2^3*5*3,p=2*5=102. 思路分析:① 这道题目主...原创 2019-03-07 18:13:41 · 687 阅读 · 0 评论 -
六角填数(全排列-抓取法)
1. 问题描述:如图所示六角形中,填入1~12的数字。使得每条直线上的数字之和都相同。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容(答案是10)2. 思路分析:① 对于这种填数字的我们首先要有一种全局的思维,因为这样的问题经典的解法是使用全排列去求解,套路是先生成所有的全排列然后在出口的时候使用check函数...原创 2019-03-22 10:45:25 · 1416 阅读 · 0 评论 -
出现次数最多的整数
1. 问题描述:问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。 输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排...原创 2019-04-04 17:04:10 · 896 阅读 · 0 评论 -
2次幂的表示(递归)
1. 问题描述:问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用2表示) ...原创 2019-04-04 22:13:25 · 6826 阅读 · 0 评论 -
全排列(当前字符 + 截取剩余的字符拼接)
1. 问题描述:求解出字符串"ABCDE"的全排列2. 思路分析:① 在之前的求解全排列的思路中我们使用到的是将当前位置与其他位置进行交换,比如求解1-9的全排列我们可以将第一个位置与上的数字与2-9位置上的数字进行交换,对于第二个位置的数字与3-9位置上的数字进行交换.... 所以可以对当前位置上的数字进行递归求解形成所有的全排列② 除了上面求解数字的全排列,我们也可以求解出某个...原创 2019-03-14 16:38:29 · 143 阅读 · 0 评论 -
幸运数
1. 问题描述:幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,....1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 ....把它们缩紧,重新记序,为:1 3 5 7 9 .... 。这时,3为第2个幸运数,然后把所有能被3整除的序号...原创 2019-03-07 13:40:40 · 3496 阅读 · 1 评论 -
阶乘位数
1. 问题描述:(这道题目是计蒜客2019 蓝桥杯省赛 A 组模拟赛)蒜头君对阶乘产生了兴趣,他列出了前1010个正整数的阶乘以及对应位数的表:nn n!n! 位数 1 1 1 2 2 1 3 6 1 4 24 2 5 120 3 6 720 3 7 5040 ...原创 2019-03-28 20:26:11 · 1344 阅读 · 0 评论 -
深度优先搜索之倍数问题
1. 问题描述:【题目描述】众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况,当有很多个 数之后就会比较苦恼。现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。数据保证一定有解。【输入格式】 从标准输入读入数据。 第一行包括 2 个正整数 n, K。 第二行 n...原创 2019-03-04 15:30:03 · 1083 阅读 · 3 评论 -
九宫重排(广度优先搜索)
1. 问题描述:问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。 我们把第一个图的局面记为:12345678. 把第二个图的局面记为:123.46758 显然是按从上到下,从左到右的顺序记录数字,空格记为句点。 本题目的任务是已知九宫的初态和终态,求最...原创 2019-03-09 10:41:15 · 5915 阅读 · 0 评论 -
三羊献瑞(枚举)
1. 问题描述:观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞--------------------- 三 羊 生 瑞 气其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容2. 思路分析:① 首先将文字写成字母表达的式子,把上面的文字分别使用不同的字母来...原创 2019-03-18 16:15:51 · 402 阅读 · 0 评论 -
猜数字游戏
1. 问题描述:编写一个人机猜数游戏,游戏玩法如下:由计算机“想”一个四位数,请人猜这个四位数是多少。人输入四位数字后,计算机首先判断这四位数字中有几位是猜对了,并且在对的数字中又有几位位置也是对的,将结果显示出来,给人以提示,请人再猜,直到人猜出计算机所想的四位数是多少为止。例如:计算机“想”了一个“1234”请人猜,可能的提示如下:人猜的整数 计算机判断有几个数字正确 有几...原创 2019-03-04 10:00:59 · 1009 阅读 · 0 评论 -
海盗喝酒
1. 问题描述 有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝...原创 2019-03-04 09:25:26 · 418 阅读 · 0 评论 -
三进制数位和
1. 问题描述:问题描述 给定L和R,你需要对于每一个6位三进制数(允许前导零),计算其每一个数位上的数字和,设其在十进制下为S 一个三进制数被判断为合法,当且仅当S为质数,或者S属于区间[L,R] 你的任务是给出合法三进制数的个数输入格式 一行两个非负整数L,R输出格式 一行一个非负整数表示答案样例输入0 0样例输出330数据规模和约定...原创 2019-02-17 18:25:18 · 1735 阅读 · 0 评论 -
密码发生器
1. 问题描述:在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。 变换...原创 2019-03-04 08:54:06 · 531 阅读 · 0 评论 -
马虎的算式(枚举)
1. 问题描述:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!因为 36 * 495 = 396 * 45 = 17820类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54假设 a b c ...原创 2019-03-06 17:14:06 · 456 阅读 · 0 评论 -
错误票据
1. 问题描述:某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N<100)表示后面数据行数。...原创 2019-03-06 17:06:28 · 167 阅读 · 0 评论 -
带分数(全排列 + 枚举)
1. 问题描述:100 可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表...原创 2019-03-06 16:30:35 · 494 阅读 · 0 评论 -
九宫格
1. 问题描述:问题描述 九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等,打印1。否则打印0样例输出与上面的样例输入对应的输出例:数据规模和约定 输入1-9这9个数字的一种任意排序2. 根据题目的描述写成写成即可代码如下:import java.util.Scanner;public cla...原创 2019-02-17 21:24:03 · 340 阅读 · 0 评论 -
审美课(输入数字的二进制表示)
1. 问题描述:问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅老师^_^) 答案完全相反是指对每一幅画的判断都相反...原创 2019-02-23 22:11:06 · 834 阅读 · 0 评论 -
三个整数的排序
1. 问题描述:问题描述 输入三个数,比较其大小,并从大到小输出输入格式 一行三个整数输出格式 一行三个整数,从大到小排序样例输入33 88 77样例输出88 77 332. 方法一:可以使用Java的三目运算符进行判断得到最大值然后判断剩下来的元素的大小关系,方法二新建一个整型数组把元素存进去然后对数组进行排序然后再逆序输出即可...原创 2019-02-17 21:42:53 · 4114 阅读 · 0 评论 -
简单加法
1. 问题描述:问题描述 小于10的自然数中有四个数字能除尽3或5(3, 5, 6, 9),它们的和为23 请计算所有小于1000的自然数中能除尽3或5的数字的合。然后使用标准输出cout,输出你的结果输入格式 无输出格式 一行一个整数,表示你的结果2. 枚举所有的数字加上判断即可代码如下:public class Main { pub...原创 2019-02-17 21:10:10 · 312 阅读 · 0 评论 -
文本加密
1. 问题描述:问题描述 先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A"转化"B","B"转化为"C",... ..."Z"转化为"a","a"转化为"b",... ..., "z"转化为"A",其它字符不加密。编写程序,加密给定字符串。样例输出与原创 2019-02-17 21:00:52 · 1329 阅读 · 0 评论 -
九宫幻方
1. 题目网址:http://lx.lanqiao.cn/problem.page?gpid=T446问题描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀:“二四为肩,六八为足,左三右七,戴...原创 2019-01-30 22:40:38 · 339 阅读 · 0 评论 -
九九乘法表
1. 主要是控制循环中两个变量i,j的变化,外层循环控制行数,里层循环控制列数即可,需要使用制表符来控制生成的乘法表的格式2. 代码如下:public class Main { public static void main(String[] args) { //行 for(int i = 1; i <= 9; i++){ for(int j = 1; j <...原创 2019-01-29 21:32:31 · 799 阅读 · 1 评论 -
回文数
1. 题目网址:http://lx.lanqiao.cn/problem.page?gpid=T47问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数输出格式 按从小到大的顺序输出满足条件的四位十进制数2. 主要是将数字转化为字符串形式然后进行翻转比较即可知道是否是回文字符串,代码如下:public class ...原创 2019-01-29 20:31:36 · 150 阅读 · 0 评论 -
特殊回文数
1. 题目网址:http://lx.lanqiao.cn/problem.page?gpid=T48问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n输入格式 输入一行,包含一个正整数n输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入...原创 2019-01-29 20:10:55 · 327 阅读 · 0 评论 -
十六进制转八进制
1. 题目网址:http://lx.lanqiao.cn/problem.page?gpid=T51问题描述 给定n个十六进制正整数,输出它们对应的八进制数输入格式 输入的第一行为一个正整数n (1<=n<=10) 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000输出格式 输出n行,每行为输...原创 2019-01-29 16:09:50 · 930 阅读 · 0 评论 -
C语言生成指定范围内的随机数
1. C语言中有产生随机数据的函数,需要添加stdlib.h与time.h头文件,首先需要在main函数的开头加上srand((unsigned)time(NULL));,这个语句将产生随机数的种子,然后再需要使用随机数的地方使用rand函数,但是rand()函数只能够生成[0,RAND_MAX]范围内的整数,RAND_MAX是stdlib.h头文件中的一个常数(32767),在不同的系统之下这个...原创 2019-07-06 20:22:26 · 63921 阅读 · 9 评论