牛客春招刷题训练营 3月14日 Java 字符个数统计 删除字符串中出现次数最少 四则运算 的字符
#牛客春招刷题训练营# + https://www.nowcoder.com/discuss/726480854079250432
题目地址
https://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50?channelPut=w25springcamp
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9?channelPut=w25springcamp
https://www.nowcoder.com/practice/9999764a61484d819056f807d2a91f1e?channelPut=w25springcamp
字符个数统计
用 HashSet 存一下字符
过滤一下即可
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String str = in.next(); HashSet<Character>hs = new HashSet<>(); for (int i = 0; i < str.length(); i++) { hs.add(str.charAt(i)); } System.out.println(hs.size()); } }
删除字符串中出现次数最少的字符
用 HashMap 存一下出现最少的次数
然后遍历时过滤掉就行
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String str=in.next(); HashMap<Character,Integer>hm=new HashMap<>(); for(int i=0;i<str.length();i++){ hm.put(str.charAt(i),hm.getOrDefault(str.charAt(i),0)+1); } char ans=0; int cnt=Integer.MAX_VALUE; for(Map.Entry<Character,Integer>entry:hm.entrySet()){ if(entry.getValue()<cnt){ cnt=entry.getValue(); } } for(int i=0;i<str.length();i++){ if(hm.get(str.charAt(i))!=cnt){ System.out.print(str.charAt(i)); } } } }
四则运算
直接调用 javax 的包
import java.util.*; import javax.script.*; public class Main{ public static void main(String[] args) throws ScriptException { Scanner scan = new Scanner(System.in); String input = scan.nextLine(); input = input.replace("[","("); input = input.replace("{","("); input = input.replace("}",")"); input = input.replace("]",")"); ScriptEngine scriptEngine = new ScriptEngineManager().getEngineByName("nashorn"); System.out.println(scriptEngine.eval(input)); } }
牛客算法 校招 Java 合集 文章被收录于专栏
Java写算法