蓝桥杯算法训练
如意的小家
这个作者很懒,什么都没留下…
展开
-
算法训练 删除数组零元素
代码如下:package ALGO_79;import java.util.Scanner;public class Main { public static int CompactIntegers(int a[],int n){ int j=0; for(int i=0;i<n;i++){ if(a[i]!=0){原创 2018-01-31 14:50:48 · 357 阅读 · 0 评论 -
算法训练 Anagrams问题(String类)
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。 例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。输入格式...原创 2018-02-03 23:48:57 · 336 阅读 · 0 评论 -
算法训练 区间k大数查询
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 第三个包含一个正整数m,表示询问个数。 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式 ...原创 2018-02-06 22:08:35 · 140 阅读 · 0 评论 -
算法训练 前缀表达式
代码如下:package ALGO_92;import java.util.Scanner;public class Main { public static int add(int a,int b){ return a+b; } public static int sub(int a,int b){ return a-b;原创 2018-02-06 20:41:55 · 425 阅读 · 0 评论 -
算法训练 最大的算式
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如: N=5,K=2,5个数字分别为1、2、3、4、5,可以加成: 1*2*(3+4+5)=24 1*(2+3)*(4+5)=45 (1*2+3)*(4+5)...原创 2018-02-12 10:12:17 · 175 阅读 · 0 评论 -
算法训练 K好数
问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式 输入包含两个正整数,K和L。输出格式 输出一个整数,表示答...原创 2018-02-11 13:45:44 · 191 阅读 · 0 评论 -
算法训练 最大最小公倍数
问题描述 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式 输入一个正整数N。输出格式 输出一个整数,表示你找到的最小公倍数。样例输入 9样例输出 504数据规模与约定 1 分析如下: 定理1:大于1的两个相邻的自然数必定互质 。 定理2:两个数的最小公倍数在最大的原创 2018-02-05 23:29:24 · 559 阅读 · 0 评论 -
算法训练 2的次幂表示
问题描述 任何一个正整数都可以用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表示) ...原创 2018-02-11 10:30:43 · 156 阅读 · 0 评论 -
算法训练 未名湖边的烦恼
思路: 运用递归思想,遍历每一种可能是还鞋还是借鞋,遇到不符合条件的(剩余借鞋人数多于还鞋人数时)return返回,当借鞋的人数为0时便是一个符合要求的排序,数值加1。此时的树根为队尾!! 代码如下:package ALGO_122;import java.util.*;public class Main { public static void main(String原创 2018-02-05 16:08:09 · 345 阅读 · 0 评论 -
算法训练 数字三角形
问题描述 (图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。 ●每一步可沿左斜线向下或右斜线向下走; ●1<三角形行数≤100; ●三角形中的数字为整数0,1,…99; (图3.1-1)输入格式 文件中首先读到的是三角形的行数。 接下来描述整个三角原创 2018-02-04 16:50:55 · 188 阅读 · 0 评论 -
算法训练 6-1 递归求二项式系数值
根据公式可直接写出递归的函数lcd。 代码如下:package ALGO_150;import java.util.Scanner;public class Main { public static int lcd(int n,int k){ int res; if(k==0||k==n) res=1; el原创 2018-02-01 17:01:49 · 265 阅读 · 0 评论 -
算法训练 最小乘积(基本型)
问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25输入格式 第一个行一个数T表示数据组数。后面每组原创 2018-01-31 22:59:11 · 491 阅读 · 0 评论 -
算法训练 5-1最小公倍数
问题描述 编写一函数lcm,求两个正整数的最小公倍数。样例输入 一个满足题目要求的输入范例。例: 3 5样例输出 与上面的样例输入对应的输出。例: 数据规模和约定输入数据中每一个数的范围。 例:两个数都小于65536。思路: 最小公倍数=(a*b)/最大公约数 下图为求最大公约数的欧几里德算...原创 2018-01-31 21:18:28 · 187 阅读 · 0 评论 -
算法训练 Torry的困惑(基本型 素数判断)
问题描述 Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。输入格式 ...原创 2018-01-31 19:47:44 · 286 阅读 · 0 评论 -
算法训练 出现次数最多的整数
问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。输入格式 第一行是一个整数N,N £ 20; 接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排...原创 2018-02-08 12:50:04 · 337 阅读 · 0 评论