牛客网每日一题_Java方向编程题——第一周DAY1_20210412

1. 编程题

2.1 69390-删除公共字符

  • 牛客网链接

  • 解题思路
    1.用哈希的思想
    2.先遍历 str2 这个字符串,把对应的字符放到 hash[ ] 中,放进去记为1.
    3.再遍历 str1 找到 == 0 的字符就是我们需要的字符。若为1,则说明它在 str2 中出现过了。

  • 解题代码



import java.util.HashMap;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str1 = scanner.nextLine();//nextLine 才能读一行
        String str2 = scanner.nextLine();

        HashMap<Character,Integer> map = new HashMap<>();

        //1.遍历第二个字符串
        for (int i = 0; i < str2.length(); i++) {
            //当前拿到的字符判断 之前是否存在于 map 中
            if (map.get(str2.charAt(i) )== null) {//注意这里不要写成 == 0.否则会报空指针异常
            map.put(str2.charAt(i),1);
            } else {
            map.put(str2.charAt(i),map.get(str2.charAt(i))+1);
        }
    }

        String ret = "";
      //2.遍历第一个字符串
        for (int i = 0; i < str1.length(); i++) {
        if (map.get(str1.charAt(i))==null){//注意这里不要写成 == 0.否则会报空指针异常
            ret += str1.charAt(i);
        }
    }
        System.out.println(ret);

}

}

在这里插入图片描述

2.2100449-组队竞赛

牛客网链接

  • 解题思路

  • 代码

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            int n = scanner.nextInt();
            int[] array = new  int[ 3 * n];//样例中, N 为 2 时,数组长度为 6。
            long sum = 0;//long 是 8 个字节
            for (int i = 0; i < array.length; i ++) {
                array[i] = scanner.nextInt();
            }
            Arrays.sort(array);
            for (int i = 0; i < n; i++) {
                sum += array[array.length - 2*(i+1)];
            }
            System.out.println(sum);
        }

    }

}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值