算法描述
- 给定一个正整数,给出消除重复数字以后最小的整数,注意需要考虑长整数。
- 输入示例:423234
- 输出示例:234
算法实现
public class FindMinString extends Sort{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String string = scanner.nextLine(); int[] src = {string.charAt(0) - '0'}; int[] dec = null; for(int i=0;i<string.length();i++){ int find = string.charAt(i) - '0'; int index = binarySearch(src, find,0, src.length - 1); if (index != -1) { System.out.println("index is :" + index + " value is :" + src[index]); continue; } else { dec = searchInsert(src, find); src = dec; } } printArray(src); } private static int[] searchInsert(int[] src, int i) { int left = 0; int right = src.length - 1; while (left <= right) { int middle = (right + left) / 2; if (src[middle] < i) { left = middle + 1; } else { right = middle - 1; } } int[] dec = Arrays.copyOf(src, src.length + 1); int decL = dec.length - 1; while (decL >= left) { if (decL == left) { dec[left] = i; break; } dec[decL] = dec[decL - 1]; decL--; } return dec; } private static int binarySearch(int[] src, int i, int left, int right) { while (left <= right) { int middle = (right + left) / 2; if (src[middle] == i) { return middle; } else if (src[middle] < i) { left = middle + 1; } else { right = middle - 1; } } return -1; } }
相关推荐
PFColorHash - 根据给定的字符串生成颜色
C语言程序设计-求给定正整数m以内的素数之和;例如:当m=20时,函数值为77;
C语言程序设计-求一个给定字符串中的字母的个数.c
C语言程序设计-求给定正整数n以内的素数之积;(n).c
validate-npm-package-name, 给定字符串是否可以接受的npm包名称? validate-npm-package-name给我一个字符串,我告诉你它是否是有效的npm 包名称。这个软件包导出一个带有 string 作为输入并返回具有两个属性的对象...
设A 和B 是2 个字符串。要用最少的字符操作将字符串A 转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; ...对于给定的字符串A和字符串B,编程计算其编辑距离d(A,B)。
编写程序:从键盘上输入一个包含10个字符的字符串,把该字符串与程序中给定的字符串("bacdbcabca") //依次比较,统计两个字符串对应字符相等的数目。然后输出从键盘上输入的字符串, //并把两个字符串中对应字符不...
动态规划算法:从1到26分别对应a-z的每一个字母,输入一串数字的字符串,转换为字母,输出所有可能的字母序列。如123->abc、lc、aw 本资源是按照二叉树的思想解决该问题。从字符串的头部开始,每次可以取一个或者两...
php-shorthand给定一组字符串计算它独特简捷表达
1. 给定字符串A、B以及整数n,试求出B在A的第n个字符后的出现位置; 2. 给定两个字符串A、B,试输入A和B连接后的字符串; 3. 给定字符串A和整数n、m,求出A的第 n 个和第m个字符之间的子串并输出; 4. 给定两个...
使用Java的String类操作字符串和子串。 实验内容: 1.写一个程序提示用户键入某一货币数量(以分为单位),该程序应计算出如何用最少量的1元,50分,10分和1分硬币得到该数目。如195分最少可以用一个1元硬币,1个50分...
c++代码,算法写的非常详细,需要的同学拿去,海师的别下,免得雷同。
java实现--输出给定范围内的质数。。。。。。。。。。。
java编程统计一个字符串中的字母,数字,空格,其他,输入一个字符串,就会输出字符串中包含的字母,数字,空格,其他
将给定的字符串加一(对数字或字母),特别对以字符串为索引的数据字段
例如,给定字符串"Your name is {{name}}"和键值对对象{"name": "Johnny"},它应该返回"Your name is Johnny"。 双花括号和变量名之间的空格/制表符将被忽略。例如,“My name is {{name}}”、“My name is {{name}...
转变为字符串回文的次数--java-easy- 给定字符串输入,程序将打印回文所需的班次数。 移位是在字符串的一端删除或插入一个字符,然后将其插入到字符串的另一端。 输入格式: 第一行-输入的字符串数为n。 接下来的n...
Java-Thread-Affinity,将Java线程绑定到给定的内核.zip
统计给定文件中给定字符串的出现次数,java中的小功能
解题方法是通过遍历字符串,对于每个字符,如果它不是数字字符,则将其复制到新的字符串中,最后在新字符串的末尾添加一个空字符('\0'),表示字符串的结束。 具体实现上,定义了一个delnum函数,该函数接受一个字符...