import java.util.Scanner; public class _1区间K大数查询 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n= scanner.nextInt(); int[] shuzu = new int[n]; for (int i = 0; i < shuzu.length; i++) { shuzu[i] = scanner.next…
算法提高 9-1九宫格 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 九宫格.输入1-9这9个数字的一种任意排序,构成3*3二维数组.如果每行.每列以及对角线之和都相等,打印1.否则打印0. 样例输出 与上面的样例输入对应的输出. 例: 4 9 2 3 5 7 8 1 6 1 数据规模和约定 输入1-9这9个数字的一种任意排序. import java.util.Scanner; public class 九宫格 { public static void main(Strin…
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数. 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个.序列元素从1开始标号. 输出格式 总共输出m行,每行一个数,表示询问的答案. 样例输入 5 1 2 3 4 5 2 1 5 2 2 3 2 样例输出 4 2 数据规模与约定 对于30%的数据,n…
思路:根据提示的内容,我们可以得到c[i][j] += a[i][k]*b[k][j],k>=0&&k<s PS:这道题本身不难,但是当我定义A[m][s] B[s][n] c[m][n]  这样的大小时,总有几个测试数据过不去,只能得42分,后来我将三个数组大小都设定了为200*200,全部数据都通过了! import java.util.Scanner; public class _86矩阵乘法 { public static void main(String[] args…
nums[i][j] 存的是i位数的时候,首位数字是j的K好数的数目,i从1位开始的结果,去算2位时的结果,去算3位时的结果...最后得到l位的结果.K进制只是一个范围. import java.util.Scanner; public class _3K好数 { public static void main(String[] args) { long l,sum=0; long[][] num = new long[500][500]; int k; Scanner scanner = ne…
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数. 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个.序列元素从1开始标号. 输出格式 总共输出m行,每行一个数,表示询问的答案. 样例输入 样例输出 数据规模与约定 对于30%的数据,n,m<=: 对于100%的数据,n,m<=: 保证k<…
思路:其实这道题不是太难,但是这个题太坑了,提交了好多次都不是100,后来才知道,一定一定要在输入数组数据之前先判断一下输进去的n的范围,一定一定要注意,否则就是跟我下面的图片一样的效果了,泪奔~ 问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值. 输入格式:第一行是一个整数N,Nn<…
思路:这道题用HashMap来保存枚举的字串,key值保存字串-value值保存字串所出现的次数:         通过for循环并使用subString()方法枚举所有符合要求的子串maxStr记录出现次数最多的字串,          maxValue记录其出现的次数 1截取到的长度大于等于l的子串先比较是否已经存在map里, 1.1若存在,取出它的次数并+1.和最大次数比较 1.1.1若大于最大次数,将这个次数赋给最大次数,并且将子串赋给最大次数的子串 1.1.2若等于最大次数,再判断这两…
解题思路: 1. n是奇数,那就最大的三个数相乘2. n是偶数,得分两种情况了, ①如果n不是3的倍数,那就s=n*(n-1)*(n-3)---n与n-2同为偶数,故排除一个n-2: ②n是3的倍数,s=(n-1)*(n-2)*(n-3),n与n-2同为偶数,排除n-2,但n与n-3均有3这个公约数,得排除n-3,那就用n-4么?多往后写几个数你就会发现这样下去根本不行. 所以只能用(n-1)*(n-2)*(n-3). import java.util.Scanner; public class…
蓝桥杯 算法提高 11-1实现strcmp函数 (JAVA方法) 首先这不是一个多难的题,但是网上的我没怎么找到有Java的代码,基本全都是c语言的,小编是个小白,如果有不对的地方请联系小编 问题描述 自己实现一个比较字符串大小的函数,也即实现strcmp函数.函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2.若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1.具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比…