目录

1 数字拆分

2 稍大的串

 

前言:以下代码仅供参考,若有错误欢迎指正哦~


1 数字拆分

 正整数可以表示为若干正整数的累加和。

  如,对于正整数n=6,可以分划为:
6
5+1
4+2
4+1+1
3+3
3+2+1
3+1+1+1
2+2+2
2+2+1+1
2+1+1+1+1
1+1+1+1+1+1 现在的问题是,对于给定的正整数n,计算出所有划分情况。
下面的代码实现了这个功能。仔细分析,填写划线部分缺失的代码。 public class MyTest
{ public static List fen(int n, int limit)
{
Vector v = new Vector();
if(n<=limit) v.add(n); for(int i=1; i<n; i++)
{
if(n-i > limit) continue; List t = fen(i,n-i); for(int k=0; k<t.size(); k++)
__________________________; //填空位置
} return v;
} public static void main(String[] args)
{
List v = fen(6,6);
for(int i=0; i<v.size(); i++)
System.out.println(v.get(i));
}
} 注意:通过浏览器提交答案。只填写缺少的内容,不要填写任何多余的内容(例如:说明性文字或已有符号)。

答案: v.add((n-i)+"+"+t.get(k))


2 稍大的串

串可以按照字典序进行比较。例如:
abcd 小于 abdc 如果给定一个串,打乱组成它的字母,重新排列,可以得到许多不同的串,在这些不同的串中,有一个串刚好给定的串稍微大一些。科学地说:它是大于已知串的所有串中最小的串。你的任务就是求出这个“稍大的串”。 例如:
输入串:
abfxy
程序应该输出:
abfyx 再例如:
输入串:
ayyyxxff
程序应该输出:
fafxxyyy fyyyxxaa
数据规模约定:
输入的串不超过1000个字符。 特例:
如果已知的串已经是所有重组串中最大的,则原样输出读入的那个串。 资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms 请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。
 import java.util.Arrays;
import java.util.Scanner; public class Main { public void getResult(String A) {
int len = A.length();
int i = len - 1;
for(;i >= 1;i--)
if(A.charAt(i - 1) < A.charAt(i))
break;
if(i == 0) {
System.out.println(A);
return;
}
char temp = A.charAt(i - 1);
char[] arrayB = A.substring(i).toCharArray();
Arrays.sort(arrayB);
for(int j = 0;j < arrayB.length;j++)
if(arrayB[j] > temp) {
char a = arrayB[j];
arrayB[j] = temp;
temp = a;
break;
}
StringBuilder result = new StringBuilder(A.subSequence(0, i - 1));
result.append(temp);
for(int j = 0;j < arrayB.length;j++)
result.append(arrayB[j]);
System.out.println(result);
} public static void main(String[] args) {
Main test = new Main();
Scanner in = new Scanner(System.in);
String A = in.next();
test.getResult(A);
}
}

算法笔记_207:第五届蓝桥杯软件类决赛部分真题(Java语言C组)的更多相关文章

  1. 算法笔记_211:第七届蓝桥杯软件类决赛部分真题(Java语言A组)

    目录 1 阶乘位数 2 凑平方数 3 棋子换位 4 机器人塔 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 阶乘位数 阶乘位数 9的阶乘等于:362880 它的二进制表示为:10110001001 ...

  2. 算法笔记_108:第四届蓝桥杯软件类省赛真题(JAVA软件开发本科A组)试题解答

     目录 1 世纪末的星期 2 振兴中华 3 梅森素数 4 颠倒的价牌 5 三部排序 6 逆波兰表达式 7 错误票据 8 带分数 9 剪格子 10 大臣的旅费 前言:以下试题解答代码部分仅供参考,若有不 ...

  3. 算法笔记_111:第五届蓝桥杯软件类省赛真题(Java本科A组)试题解答

     目录 1 猜年龄 2 李白打酒 3 神奇算式 4 写日志 5 锦标赛 6 六角填数 7 绳圈 8 兰顿蚂蚁 9 斐波那契 10 波动数列   前言:以下试题解答代码部分仅供参考,若有不当之处,还请路 ...

  4. 算法笔记_112:第五届蓝桥杯软件类省赛真题(Java本科B组)试题解答

     目录 1 武功秘籍 2 切面条 3 猜字母 4 大衍数列 5 圆周率 6 奇怪的分式 7 扑克序列 8 分糖果 9 地宫取宝 10 矩阵翻硬币   前言:以下试题解答代码部分仅供参考,若有不当之处, ...

  5. 算法笔记_214:第六届蓝桥杯软件类校赛真题(Java语言A组)

    目录 1 题目一 2 题目二 3 题目三 4 题目四 5 题目五 6 题目六 7 题目七 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 题目一 一个串的子串是指该串的一个连续的局部.如果不要求连续 ...

  6. 算法笔记_206:第五届蓝桥杯软件类决赛真题(Java语言A组)

    目录 1 海盗分金币 2 六角幻方 3 格子放鸡蛋 4 排列序数 5 幂一矩阵 6 供水设施    前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 海盗分金币 有5个海盗,相约进行一次帆船比赛. 比 ...

  7. 算法笔记_110:第四届蓝桥杯软件类省赛真题(JAVA软件开发高职高专组部分习题)试题解答

     目录 1 猜年龄 2 组素数 3 第39级台阶 4 核桃的数量 5 打印十字图 6 买不到的数目   前言:以下试题解答代码部分仅供参考,若有不当之处,还请路过的同学提醒一下~ 1 猜年龄 标题: ...

  8. 算法笔记_205:第五届蓝桥杯软件类决赛真题(C语言B组)

    目录 1 年龄巧合 2 出栈次序 3 信号匹配 4 生物芯片 5 Log大侠 6 殖民地   前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 年龄巧合 小明和他的表弟一起去看电影,有人问他们的年龄. ...

  9. 算法笔记_109:第四届蓝桥杯软件类省赛真题(JAVA软件开发本科B组部分习题)试题解答

    目录 1 马虎的算式 2 黄金连分数 3 有理数类 4 幸运数 5 连号区间数   前言:以下试题解答代码部分仅供参考,若有不当之处,还请路过的同学提醒一下~ 1 马虎的算式 标题: 马虎的算式 小明 ...

随机推荐

  1. "Blessing of Dimisionality: High Dimensional Feature and Its Efficient Compression for Face Verification"学习笔记

    这\(^{[1]}\)是一篇关于如何使用高维度特征在人脸验证中的文章,作者以主要LBP为例子,论述了高维特征和验证性能存在着正相关的关系,即人脸维度越高,验证的准确度就越高.由于那时候没有用DeepL ...

  2. 【原】Java程序调用远程Shell脚本

    此程序的目的是执行远程机器上的Shell脚本. [环境参数]远程机器IP:192.168.234.123用户名:root密码:rootShell脚本的路径:/home/IFileGenTool/Bak ...

  3. HK设备安全补丁升级方案

    1.背景:          当前很多HK行业设备的端口映射到公网上,其中一部分老版本设备是存在安全漏洞的,由于传统行业没有设备平台的概念,无法通过设备提示用户进行升级,导致这些存在漏洞的设备在互联网 ...

  4. mysql的show status详解(转载)

    SHOW STATUS提供服务器的状态信息(象mysqladmin extended-status一样).输出类似于下面的显示,尽管格式和数字可以有点不同: +-------------------- ...

  5. The YubiKey NEO

    The YubiKey NEO The YubiKey line of hardware one-time-password (OTP) generators has been on the mark ...

  6. CSS之BFC、IFC、FFC and GFC

    CSS之BFC.IFC.FFC and GFC 什么是FC? BFC(Block Formatting Contexts) BFC的布局规则: 如何生成BFC: IFC(Inline Formatti ...

  7. SqlServer收缩日志文件

    通过收缩的方法可以释放所占空间. 第一步:将数据库的模式调整为简单模式 右击数据库名->'属性'->'选项'->恢复模式改成'简单'->点'确定'按钮. 第二步:收缩文件 右键 ...

  8. warning,C4996,sprintf,deprecated,C4996,strcpy,C4996,strcat

    在vs2003, vs2005中用sprintf 会出现warning C4996: 'sprintf' was declared deprecated或warning C4996: 'strcpy' ...

  9. OPC Server开发的几大境界

    OPC server的开发相对OPC client 更加困难,OPC server 的开发主要应用COM技术,主要应用书籍为潘爱民写的<COM入门和应用>,大量的技术有很大的可重用性,在开 ...

  10. andriod获得应用程序的Context

    getApplicationContext() getResources().getString(R.string.app_name) //获得程序名称