Java算法比赛常用方法实例总结
作者:终生成长者 发布时间:2023-11-28 07:15:26
标签: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
来源:https://blog.csdn.net/qq_51537858/article/details/130529480


猜你喜欢
- 本文实例讲述了Android编程实现调用相册、相机及拍照后直接裁剪的方法。分享给大家供大家参考,具体如下:package com.cvte.
- 一、实验目的1. 掌握各种高级UI控件的基本使用;2. 能够实现Tab切换效果。二、实验任务1. 根据原型图设计界面;2. 实现Tab切换;
- 方法一: view.post(Runnable runnable)使用 view 对象,调用 post 方法即可在主线程中执行里边的代码,p
- 在 Java 中将 Object 转换为 Int我们可以使用 Object 类来引用我们在 Java 中不知道其类型的任
- 项目里使用了Feign进行远程调用,有时为了问题排查,需要开启请求和响应日志下面简介一下如何开启Feign日志:注:本文基于spring-b
- 前言最近看插件库上少有的取色器大都是圆形的或者奇奇怪的的亚子,所以今天做两个矩形的颜色取色器提示:以下是本篇文章正文内容,下面案例可供参考一
- 本文实例讲述了Java中方法名称和泛型相同的用法。分享给大家供大家参考,具体如下:一 点睛Java中,方法的名称可以用泛型替代。二 实战1
- 一、返回BufferedImage由于spring mvc不支持返回BufferedImage ,所以增加图片转换器@Configurati
- 前言在公司的图书馆项目中曾经用过截取字符串的方法,项目是java语言的;最近在公司的另一个项目中又需要截取字符串,一种环境是C#语言,一种环
- 了解了inbound事件的传播过程, 对于学习outbound事件传输的流程, 也不会太困难outbound事件传输流程在我们业务代码中,
- 前言RefreshIndicator是Flutter里常见的下拉刷新组件,使用是比较方便的。但由于产品兄弟对其固定的刷新样式很是不满,而且代
- 本文接上文“java反射之获取类的信息方法(推荐)”,利用反射(invoke)来获取一个类中的方法来执行。1、定义一个类,包含三个名称相同,
- 1、线程数使用开发规约阿里巴巴开发手册中关于线程和线程池的使用有如下三条强制规约【强制】创建线程或线程池时请指定有意义的线程名称,方便出错时
- 前言使用maven创建的springboot项目,默认是jar包,springboot还有自己带的tomcat。现在需要将项目打包,并部署到
- 在生产型Android客户端软件(企业级应用)开发中,界面可能存在多个输入(EditText)和多个操作(MotionEvent和KeyEv
- 有时我们可能会遇到下图这样一种情况 — 我们需要的资料或教程被分成了几部分存放在多个PDF文件中,不管是阅读还是保存都不是很方便,这时我们肯
- 先上效果图,如果大家感觉不错,请参考实现代码。 重要的是如何实现自定义的
- springboot:整合sa-token一、简介Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、Se
- Spring的主要特性包括IOC和DI,其中DI是IOC的基础。在以前的Spring使用过程中大部分都是使用XML配置文件显式配置sprin
- 门面模式又叫外观模式(Facade Pattern),主要用于隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。我们知道电视剧