华为机试-HJ1~HJ10

public class Main {
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
           int putIn = in.nextInt();
        }

        // set用于去重
        HashSet set = new HashSet();

        // list
        ArrayList<Integer> list = new ArrayList();

        // set转list
        ArrayList arrayList = new ArrayList<>(set);

        // list转set
        for (Integer integer : list) {
            set.add(integer);
        }

        // int[]转list
        int [] A = {1,2};
        List<Integer> listA = Arrays.stream(A).boxed().collect(Collectors.toList());
        // List<int[]> list1 = Arrays.asList(A);

        // list 转 int[]
        Integer[] integers = listA.toArray(new Integer[listA.size()]);

        // 对list进行排序
        Collections.sort(list);

        // 对array排序
        int [] array = {1,3,2};
        Arrays.sort(array);

        // 反转list
        Collections.reverse(list);

        // 字符串反转
        String string = new StringBuffer("hello world").reverse().toString();

        // char[] 转 String
        char[] chars = {'1', '2'};
        String.valueOf(chars);

        // String 转 char[]
        String str = "hello";
        str.toCharArray();

        // Map遍历
        HashMap<Integer, Integer> map = new HashMap<>();
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        }

        // Stack
        Stack<Integer> stack = new Stack<>();
        stack.push(1);
        stack.pop();

        // Queue
        Queue<Integer> queue = new LinkedList<>();
        queue.add(1);
        queue.poll();
    }
}
// HJ1 字符串最后一个单词的长度
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String[] arr = in.nextLine().split(" ");
            System.out.println(arr[arr.length - 1].length());
        }
    }
}

// HJ2 计算某字符出现次数
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        int count = 0;
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String line = in.nextLine();
            char c = in.nextLine().toUpperCase().charAt(0);
            String str = line.toUpperCase();

            for (char c1 : str.toCharArray()) {
                if (c1 == c) count++;
            }
        }
        System.out.println(count);
    }
}

// HJ3 明明的随机数
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int N = in.nextInt();
        HashSet<Integer> set = new HashSet<>();
        for (int i = 0; i < N; i++) {
            set.add(in.nextInt());
        }
        ArrayList<Integer> list = new ArrayList<>(set);
        Collections.sort(list);
        for (Integer it : list) {
            System.out.println(it);
        }
    }
}

// HJ4 字符串分隔
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String line = in.nextLine();
        int mod = line.length() % 8;
        if (mod != 0) {
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < 8 - mod; i++) {
                sb.append("0");
            }
            line = line + sb.toString();
        }
        for (int i = 0; i < line.length(); i += 8) {
            System.out.println(line.substring(i, i + 8));
        }
    }
}

// HJ6 质数因子
// 质数因子:质数又叫素数,指的是在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数


// HJ7 取近似值
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        float f = in.nextFloat();
        String str = String.valueOf(f);
        int index = str.indexOf(".");
        char c = str.charAt(index + 1);
        if (c < '5') {
            System.out.println(Integer.valueOf((int) Math.floor(f)));
        }else {
            System.out.println(Integer.valueOf((int) Math.ceil(f)));
        }
    }
}

// HJ8 合并表记录
import java.util.HashMap;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        String tt = in.nextLine();
        HashMap<Integer, Integer> map = new HashMap<>();

        for (int i = 0; i < num; i++) {
            String line = in.nextLine();
            String[] input = line.split(" ");
            Integer key = Integer.valueOf(input[0]);
            if (map.containsKey(key)) {
                map.put(key, map.get(key) + Integer.valueOf(input[1]));
            } else {
                map.put(key, Integer.valueOf(input[1]));
            }
        }
        for (int i = 0; i <= 11111111; i++) {
            if (map.containsKey(i)) {
                System.out.println(i + " " + map.get(i));
            }
        }
    }
}

// HJ9 提取不重复的整数
import java.util.HashSet;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        HashSet<Character> set = new HashSet<>();
        String str = new StringBuffer(String.valueOf(num)).reverse().toString();
        StringBuffer sb = new StringBuffer();
        for (Character c : str.toCharArray()) {
            if (!set.contains(c)) {
                sb.append(c);
                set.add(c);
            }
        }
        System.out.println(sb.toString());
    }
}

// HJ10 字符个数统计
import java.util.HashSet;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String line = in.nextLine();
        char[] chars = line.toCharArray();
        HashSet<Character> set = new HashSet<>();
        for (char aChar : chars) {
            if (!set.contains(aChar)) {
                set.add(aChar);
            }
        }
        System.out.println(set.size());
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值