首页 > 文章列表 > Java算法比赛常用方法实例总结

Java算法比赛常用方法实例总结

java
238 2023-05-14

1. 开方:Math.sqrt(x);

2. x的a方:Math.pow(x,a);

3. 绝对值:Math.abs(x);

4. BigInteger:大数(加,减,乘,除,取余)

c.add(d) ; c.subtract(d);c.multiply(d);c.divide(d);c.mod(d)

5. 判断回文:

public static void main(String[] args) {

        String list="12321";

        StringBuilder str=new StringBuilder(list);

        if (str.reverse().toString().equals(list)){

            System.out.println(true);

        }

    }

6. HashMap

(key,value)put,get,remove,获取key使用keySet()

7.HashSet:去重

8.字符串相关

6.字符串转化成字符数组

7.字符数组转发成字符串 String helloString = new String(helloArray);

8.忽略字符串大小写的比较方法,这就是 equalsIgnoreCase( )方法。同样返回boolean值。

9.去除首尾空白字符串 trim()

10.包含子字符串contains

补充:hashMap按值排序

输入

第一行 输入n个字符串

其余n行 :n个字符串

输出每个字符串从大到小出现次数

格式 出现次数 - 字符串

eg:

5

2 -1 -1 22

1 11 66 0

1 28 74 35

3 35 28 7

2 -1 -1 22

实现代码

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Map<String, Integer>map=new HashMap<>();

        Scanner sca=new Scanner(System.in);

        int n=sca.nextInt();

        sca.nextLine();

        for(int i=0;i<n;i++) {

            String str=sca.nextLine();

            int num=map.getOrDefault(str, 0)+1;

            map.put(str, num);

        }

        List<Map.Entry<String, Integer>>list=new ArrayList<>();

        for(Map.Entry<String, Integer>mv:map.entrySet()) {

            list.add(mv);

        }

        Collections.sort(list,new Comparator<Map.Entry<String, Integer>>() {



            @Override

            public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {

                // TODO Auto-generated method stub

                return o2.getValue()-o1.getValue();

            }

        });

        System.out.println();

        for(int i=0;i<list.size();i++) {

            Map.Entry<String, Integer> mvEntry=list.get(i);

            String key=mvEntry.getKey();

            Integer value=mvEntry.getValue();

            System.out.println(value +" - "+ key);

        }

    }

}

输出

2 - 2 -1 -1 22

1 - 1 28 74 35

1 - 1 11 66 0

1 - 3 35 28 7

总结