牛客春招刷题训练营 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写算法

全部评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务