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

 更新时间:2023年05月10日 10:13:39   作者:终生成长者  
这篇文章主要给大家介绍了关于Java算法比赛常用方法实例总结的相关资料,文中给出了详细的实例介绍的非常详细,对大家学习java算法具有一定的参考学习价值,需要的朋友可以参考下

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

总结

到此这篇关于Java算法比赛常用方法的文章就介绍到这了,更多相关Java算法比赛方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java练习之潜艇小游戏的实现

    Java练习之潜艇小游戏的实现

    这篇文章主要和大家分享一个Java小练习——利用Java编写一个潜艇小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-03-03
  • Java lambda表达式与泛型整理总结

    Java lambda表达式与泛型整理总结

    Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名。泛型编程,故如其名,是一个泛化的编程方式。其实现原理为程序员编写一个函数/类的代码示例,让编译器去填补出不同的函数实现
    2022-07-07
  • 基于springboot的RestTemplate、okhttp和HttpClient对比分析

    基于springboot的RestTemplate、okhttp和HttpClient对比分析

    这篇文章主要介绍了基于springboot的RestTemplate、okhttp和HttpClient对比分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • java 商户PC端接入支付宝支付的实现方法

    java 商户PC端接入支付宝支付的实现方法

    这篇文章主要介绍了java 商户PC端接入支付宝支付的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • java算法之二分查找法的实例详解

    java算法之二分查找法的实例详解

    这篇文章主要介绍了java算法之二分查找法的实例详解的相关资料,这里提供简单实例帮助大家学习理解这部分内容,需要的朋友可以参考下
    2017-08-08
  • 关于break和continue以及label的区别和作用(详解)

    关于break和continue以及label的区别和作用(详解)

    下面小编就为大家带来一篇关于break和continue以及label的区别和作用(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 在SpringBoot中如何利用Redis实现互斥锁

    在SpringBoot中如何利用Redis实现互斥锁

    当我们利用Redis存储热点数据时,突然就过期失效或者被删除了,导致大量请求同时访问数据库,增加了数据库的负载,为减轻数据库的负载我们利用互斥锁,本文重点介绍在SpringBoot中如何利用Redis实现互斥锁,感兴趣的朋友一起看看吧
    2023-09-09
  • Java Grpc实例创建负载均衡详解

    Java Grpc实例创建负载均衡详解

    这篇文章主要介绍了Java Grpc实例创建负载均衡详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 史上最通俗理解的Java死锁代码演示

    史上最通俗理解的Java死锁代码演示

    这篇文章主要给大家介绍了关于Java死锁代码演示的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 关于SpringBoot整合redis使用Lettuce客户端超时问题

    关于SpringBoot整合redis使用Lettuce客户端超时问题

    使用到Lettuce连接redis,一段时间后不操作,再去操作redis,会报连接超时错误,在其重连后又可使用,纠结是什么原因导致的呢,下面小编给大家带来了SpringBoot整合redis使用Lettuce客户端超时问题及解决方案,一起看看吧
    2021-08-08

最新评论