删除字符串中出现次数最少的字符,汽水瓶,简单密码
来源:互联网 发布:重庆mac专柜 编辑:程序博客网 时间:2024/05/16 01:58
删除字符串中出现次数最少的字符
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
输入描述:字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出描述:删除字符串中出现次数最少的字符后的字符串。
输入例子:
abcdd
输出例子:
dd
- 思路
1.统计每个字符出现的次数,这个很简单,用HashMap就行
2.找出出现次数的最小值(因为输入的字符串最多含有20个字符,所以假设字符出现的最小值为min=20,遍历keySet,发现value值小于min,就替换)
3.从字符串中删除出现次数最少的字符c(c为变量)(str.replace(String.valueof(c),”“))
- 源代码
:`import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
//删除字符串中出现次数最少的字符
public class RemoveMinOften {
public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String input = sc.next(); System.out.println(process(input)); }}private static String process(String str) { // TODO Auto-generated method stub char[] ch = str.toCharArray(); HashMap<Character,Integer> map = new HashMap(); for(int i=0;i<ch.length;i++){ if(map.containsKey(ch[i])){ map.put(ch[i], map.get(ch[i])+1); }else{ map.put(ch[i], 1); } } int min = 20;//最小次数 Set<Character> set = map.keySet(); for(char c:set){ if(map.get(c)<min) min = map.get(c); } for(char c:set){ if(map.get(c)==min) str = str.replace(String.valueOf(c), ""); } return str;}
}
`
汽水瓶
题目描述
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入描述:
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。
输出描述:
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。
输入例子:
3
10
81
0
思路:用递归的思路,n个汽水瓶可换的瓶子为n/3+(n/3+n%3)可换的瓶子
源代码
`import java.util.Scanner;
public class DrinkBottle {
public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt(); System.out.println(change(n)); }}private static int change(int n) { // TODO Auto-generated method stub if(n==1||n==0) return 0; if(n==3||n==2) return 1; int shang = n/3; int yushu = n%3; return (shang+change(shang+yushu));}
}
`
简单密码
题目描述
密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。
假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。
他是这么变换的,大家都知道手机上的字母: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,
声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。
输入描述:
输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾
输出描述:
输出渊子真正的密文
输入例子:
YUANzhi1987
输出例子:
zvbo9441987
源代码:`import java.util.Scanner;
//把字符串中的大写字母换成小写字母的后一位,小写字母换成键盘数字
public class EasyPWD {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String oldPWD = sc.next();
System.out.println(password(oldPWD));
}
}
private static char[] password(String str) { char[] ch = str.toCharArray(); for(int i=0;i<ch.length;i++){ //大写字母 if(ch[i]>=48&&ch[i]<=57) continue; else if(ch[i]>='A'&&ch[i]<='Y'){ ch[i] = (char) (ch[i]+33);//向后移1位并转换为小写 } else if(ch[i]=='Z'){ ch[i] = 'a'; } else if(ch[i]>='a'&&ch[i]<='c'){ ch[i] = '2'; } else if(ch[i]>='d'&&ch[i]<='f'){ ch[i] = '3'; }else if(ch[i]>='g'&&ch[i]<='i'){ ch[i] = '4'; }else if(ch[i]>='j'&&ch[i]<='l'){ ch[i] = '5'; }else if(ch[i]>='m'&&ch[i]<='o'){ ch[i] = '6'; }else if(ch[i]>='p'&&ch[i]<='s'){ ch[i] = '7'; }else if(ch[i]>='t'&&ch[i]<='v'){ ch[i] = '8'; }else if(ch[i]>='w'&&ch[i]<='z'){ ch[i] = '9'; } } return ch;}
}
`
- 删除字符串中出现次数最少的字符,汽水瓶,简单密码
- 华为 oj 简单密码破解&&汽水瓶&&删除字符串中出现次数最少的字符&&字符串排序
- 算法分析---删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- HWOJ 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除一个字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ 删除字符串中出现次数最少的字符
- (java)删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 实现删除字符串中出现次数最少的字符
- 新项目引入基础框架module流程
- 数据库查询优化
- PHP - xhprof 安装使用
- tomcat7 redis session 共享
- 申万一级行业所属的28个行业占比,沪深300,中证1000等
- 删除字符串中出现次数最少的字符,汽水瓶,简单密码
- 在E4中使用代码调用command,hanlder
- Android studio常用快捷键
- Java NIO例子
- 我们该如何选择适合自己的编程语言呢?
- 免安装版SQL中文乱码问题,本地数据库中文乱码?
- Backbone入门基础 - Model与服务器交互
- 取消掉环境变量
- Python图片转换成矩阵,矩阵数据转换成图片