问题:键盘输入一个高精度的正整数N(N<=240位),去掉任意S个数字后剩下的数字按原来左右次序组成一个新的正整数。编程实现对给定的N和S,寻找一种解决方案,使得剩下的数最小。
例如,给定的N=178543,S=4,则得到的结果为13
答:实现代码如下:
/**
* @author: YuHuang
* @date: 2011-11-30
* @summary: Just for fun.
*/
public class DeleteNumberProblem {
public static String doDelete(String n,int s){
char[] numberArray = n.toCharArray();
int len = numberArray.length;
if(len<=s) {
System.out.println("invalid s!");
return null;
}else{
int deleteLength = 0;
int pos = 1;
while(pos<len){
if(numberArray[pos]<numberArray[pos-1]) {
int i=pos;
while(i<len){
numberArray[i-1] = numberArray[i];
++i;
}
pos = pos>1 ? --pos:pos;
--len;
++deleteLength;
}else{
pos++;
}
if(deleteLength==s) break;
}
len = len-(s-deleteLength);
}
StringBuilder sb = new StringBuilder();
for(int index=0;index<len;++index){
sb.append(numberArray[index]);
}
return sb.toString();
}
public static void main(String[] args) {
String n = "178543";
int s = 4;
String result = DeleteNumberProblem.doDelete(n,s);
System.out.println(result);
}
}
代码运行结果:
Lab-Computer-0db2f6:JavaExercises labuser$ javac DeleteNumberProblem.java
Lab-Computer-0db2f6:JavaExercises labuser$ java DeleteNumberProblem
13
Lab-Computer-0db2f6:JavaExercises labuser$
分享到:
相关推荐
1.河内之塔.. 2.Algorithm Gossip: 费式数列. 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一) 6.Algorithm Gossip: 老鼠走迷... 21.Algorithm Gossip: 最大访客数等等经典问题详解
java.lang.RuntimeException: Unsupported algorithm: HmacSHA1 解决方法,阿里云
洗扑克牌(乱数排列) 58 25.Algorithm Gossip: Craps赌博游戏 60 26.Algorithm Gossip: 约瑟夫问题(Josephus Problem) 62 27.Algorithm Gossip: 排列组合 64 28.Algorithm Gossip: 格雷码(Gray ...
赠送jar包:pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar; 赠送原API文档:pentaho-aggdesigner-algorithm-5.1.5-jhyde-javadoc.jar; 赠送源代码:pentaho-aggdesigner-algorithm-5.1.5-jhyde-sources.jar; ...
可以解决,maven引入hive jar包时,hive Could not find artifact org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde 问题
解决maven引入hive的jar包时依赖报错Could not find artifact org.pentaho:pentaho-aggdesigner-algorithm:pom:5.1.5-jhyde in xxx的问题,maven路径org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde/pentaho...
解决 Cannot resolve org.pentaho:pentaho-aggdesigner-algorithm:5.1.5-jhyde jar放入D根目录执行: 以下命令加入本地maven库 mvn install:install-file -DgroupId=org.pentaho -DartifactId=pentaho-aggdesigner-...
包含各种经典的算法,如 1.河内之塔 4 2.Algorithm Gossip: 费式数列 5 3.... 4.Algorithm Gossip: 三色棋 7 5.Algorithm Gossip: 老鼠走迷官(一) 9 ... 13.Algorithm Gossip: 背包问题(Knapsack Problem ......
2.Algorithm Gossip: 费式数列 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇 9....
org / pentaho / pentaho-aggdesigner-algorithm / 5.1.5-jhyde / pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar,解决maven引入hive的jar包时依赖报错Could not find artifact org.pentaho:pentaho-aggdesigner-...
在实际应用中,"Algorithm::Evolutionary"可以应用于诸多领域,例如工程优化问题、机器学习中的参数调优、游戏AI设计,甚至在艺术和音乐创作中寻找创新性的解决方案。其开源属性更是吸引了全球众多开发者的参与,...
algorithm design foundations analysis and internet examples 中文版
本文将深入探讨开源项目"Algorithm::MatchingModel",这是一个用Perl语言编写的库,专为解决双面匹配问题而设计。 首先,我们要理解什么是双面匹配问题。在现实世界中,许多匹配场景涉及到两方之间的匹配,如学生与...
面向初学者,深入浅出,通俗易懂的算法介绍。Once Upon an Algorithm: How Stories Explain Computing
然而,随着网络安全标准的不断提升,SSH的加密算法也在不断更新,这可能导致旧版本的JSCH库在连接时遇到问题,比如"Algorithm Negotiation Fail"异常。 本文将深入探讨"升级jsch包解决ssh升级后jschexception:...
目前国内还没有人开这个课程,但是特别有前途的一门课,《并行算法》,偏理论