【算法】-数字三角形 package blueBridge;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 数字三角形,从顶部到底部经过数字之最大的路径 输入: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输出: 30 * */ public static void main(String[] args) { int[][] f.
【算法】-错误票据 package blueBridge;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大.
【算法】-2013填空 package blueBridge;import java.util.*;public class testOne { /* * 题目 * 判断1999年以后哪一个世纪末恰好为星期天,选择最近的年份 * */ public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); for(int year=1999;year&...
【算法】-字符串全排列 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 全排列 * */ static ArrayList<String> getRes(String A){ int n=A.length(); ArrayList<String> res=new Arr
【算法】-按单词翻转字符串 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 字符串按单词翻转 * */ static String rev(String str) { String s1=reverseStr(str); String[] words=s1.split("\\s"); //按空
【算法】-压缩字符串 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 给定一个矩阵matrix,返回子矩阵的最大累加和 * */ static String zipStr(String str) { int count=0; //记录前一个字符的重复次数 char last=0; /
【算法】-求最大子数组的和 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 给定一个矩阵matrix,返回子矩阵的最大累加和 * */ static int addNum(int[] arr) { int sumJ=arr[0]; int max=sumJ; int left=0,right=
【算法】-求最大子序列的和 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 给定一个数组arr,返回子数组的最大累加和 * 例:arr=[1,-2,3,5,-2,6,-1],所有的子数组中[3,5,-2,6]可以累加出最大的12 * */ static int addNum(int[] arr) {
【算法】-字符串包含 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 输入两个字符串str1和str2,请判断str1中的所有字符是否都存在str2中 * */ static boolean check(String str1,String str2) { char[] s2_arr=str2.
【算法】-求数组过半数字 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字 * */ static int getNum(int[] arr) { int condidate=arr[0]; int nTimes=1; for(
【算法】-字符串检索 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 有个排序后的字符串数组,其中散布着一些空字符串,编写一个方法,找出给定字符串(肯定不是空字符串)的索引。 * */ static int indexOf(String[] arr,String p) { int begi
【算法】-数组检索 Java:package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 * 输入一个递增排序的数组的一个选转,输出旋转 数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1. *.
【算法】-上台阶 package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方式。 * */ static int UpCase(int n) { if(n==0) { return 0; }.
【算法】-汉诺塔 package blueBridge;import java.util.*;import java.math.BigInteger;import java.util.*;public class testOne { /* * 题目 * 汉诺塔 * */ static void HanoiTower(int N,String from,String to,String help) { // if(N==1) { System.out.println("move"+.
蓝桥杯-文章翻转 资源限制时间限制:1.0s 内存限制:128.0MB问题描述 输入一段英文,不含标点,将这一段英文以单词为单位倒序输出输入格式 一段英文(段内不含换行),以换行符结尾。输出格式 一段英文(段内不含换行),以换行符结尾。样例输入aab TTR bbc loV DDE Znr CCD样例输出CCD Znr DDE loV bbc TTR aab数据规模和约定 60%的数据保证单词长度不超过20,字符长度不超过10^3 1...
51Nod【1478】-括号序列的最长合法子段 题目这里有另一个关于处理合法的括号序列的问题。如果插入“+”和“1”到一个括号序列,我们能得到一个正确的数学表达式,我们就认为这个括号序列是合法的。例如,序列"(())()", "()"和"(()(()))"是合法的,但是")(", "(()"和"(()))("是不合法的。这里有一个只包含“(”和“)”的字符串,你需要去找到最长的合法括号子段,同时你要找到拥有最长长度的子段串的个数。收起输入第一行是一个只包含“(”和“)”的非空的字符串。它的长度不超过 1000000。输出.
51Nod【1419】-最小公倍数挑战 题目几天以前,我学习了最小公倍数。玩得挺久了,想换换口味。我不想用太多的数字,我想从1到n中选三个数字(可以相同)。使得他们的最小公倍数最大。收起输入单组测试数据。第一行有一个整数n (1≤n≤1,000,000)。输出输出一个整数表示选三个数字的最大的最小公倍数。输入样例97输出样例504210思路首先分为小于3和大于等于3两类,由于可重复,当n为1时结果为1,当n为2时结果最大为2,大于等于3中,奇数一定为n*(n-1)*(n-2..
51Nod【1433】-0和5 题目小K手中有n张牌,每张牌上有一个一位数的数,这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数。使得这个数尽可能大,而且可以被90整除。注意:1.这个数没有前导0,2.小K不需要使用所有的牌。收起输入每个测试数据输入共2行。第一行给出一个n,表示n张牌。(1<=n<=1000)第二行给出n个整数a[0],a[1],a[2],…,a[n-1] (a[i]是0或5 ) 表示牌上的数字。输出共一行,表示由所给牌组成.
51Nod【3405】-正数平方和平方和 题目给出一个正整数nn,请你求出12+22+32+...+n212+22+32+...+n2的值。结果对1000000007取模。提示:12+22+...+n2=n(n+1)(2n+1)/612+22+...+n2=n(n+1)(2n+1)/6。收起输入输入一个正整数n。输出输出一个数,表示计算结果对1000000007取模的值。数据范围对于100%的数据,1≤n≤10^9;输入样例3输出样例14C:#include <st...
C-大数相乘大数相除 结果:代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>int main(){ int a[9],b[9],c[19],d[9],e[28],g[28]; int n; scanf("%d",&n); int w=n,x=n+1,y=2*n+1,i=0,j=0,k,p,q,f,h=0,t; int t..