java常用算法笔记
1.将一个10进制的c转换为n进制
String s=new BigInteger(c+"",10).toString(n);
2.
求一个解退出
System.exit(0);
3.比较器
Arrays.sort(p,0,m,new Comparator<Point>(){//按照第0列排序
public int compare(Point x,Point y){
return x.a-y.a;
}
});
4.翻转字符串
String t=new StringBuilder(s).reverse().toString();
5.队列
Queue<String> queue = new LinkedList<String>();
6.HashMap遍历
for(String s:dict.keySet()) {
System.out.println(s+" is "+dict.get(s));
}
6.种子填充
void dfs(char[][] a, boolean[][] b, int i, int j,int n)
if(i<0||j<0||i>=n||j>=n)
return;
if(b[i][j]==true||a[i][j]!='@')
return;
else
{
b[i][j]=true;
for(int dr=-1;dr<2;dr++)
{
for(int dc=-1;dc<2;dc++)
{
if(dc==0&&dr==0)continue;
else
{
dfs(a,b,i+dr,j+dc,n);
}
}
}
}
7.星期几
static int whatday(int y, int m, int d)
{
return (m==1||m==2)?
(d+2*(m+12)+3*(m+13)/5+(y-1)+(y-1)/4-(y-1)/100+(y-1)/400)%7
:(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
}
8.全排列
private static void dfs(int n, int k) {
if(k==n) {
for(int i=0;i<n;i++) {
System.out.print(a[i]+" ");
}
System.out.println();
}
else {
for(int i=0;i<n;i++) {
int ok=1;
for(int j=0;j<k;j++) {
if(a[j]==i+1) {
ok=0;
}
}
if(ok==1) {
a[k]=i+1;
dfs(n,k+1);
}
}
}
}
9.欧几里得
private static int gcd(int a, int b) {
// TODO Auto-generated method stub
if(b==0)return a;
else {
return gcd(b,a%b);
}
}
10.快速幂
public static long ex(long n,long m) {
long result=1;
long pingfangshu=n;
while(m!=0) {
if((m&1)==1) result*=pingfangshu;
pingfangshu=pingfangshu*pingfangshu;
m>>=1;
}
return result;
}
11.可重集全排列
public static void dfs(int n,int k)
{
if(k==n)
{
for(int i=0;i<n;i++)
System.out.print(a[i]);
System.out.println();
}
else {
for(int i=0;i<n;i++)
{
if(i==0||b[i-1]!=b[i])
{
int c1=0,c2=0;
for(int j=0;j<k;j++)
if(a[j]==b[i])c1++;
for(int j=0;j<n;j++)
if(b[i]==b[j])c2++;
if(c1<c2)
{
a[k]=b[i];
dfs(n,k+1);
}
}
}
}
}
12.过了某天是几月几日
Calendar cd=Calendar.getInstance();
cd.set(y, m-1,d);
cd.add(Calendar.DATE, k);
String format=(new SimpleDateFormat("yyyy-MM-dd")).format(cd.getTime());
13.比较器
Arrays.sort(p,0,m,new Comparator<Point>() {
public int compare(Point x,Point y) {
return x.a-y.a;
}
});
14.Arraylist排序
Collections.sort(list);
java常用算法笔记的更多相关文章
- Java常用集合笔记
最近事情比较少,闲暇之余温习巩固一下Java的一些基础知识,并做一些笔记, Java常用集合, 主要参考的这篇文章:Java常用集合 ArrayList/Vertor 1. ArrayList 的主要 ...
- java 常用算法和一些题目
选择排序,复杂度O(n²) package com.example.demo; import org.junit.Test; /** * 选择排序 * @author zhzh.yin * */ pu ...
- Java常用类笔记(学习尚硅谷java基础教程)
一.Java根类Object类1.toString()方法 1)以文本对象返回,故toString()的定义为public String toString() {} 2)默认的字符串输出是:包.类名@ ...
- Java常用小笔记
1.对list集合进行分页 //startIndex指的是开始的小标 从0开始,pageSize是每页记录数 int toIndex = new Integer(startIndex)+new Int ...
- Java 常用集合笔记
自增数组 ArrayList<Integer>G[]=new ArrayList[N] 详细笔记 相关题目 栈 Stack<Integer> stack=new Stack&l ...
- java常用算法
冒泡排序: //降序 public static int[] bubbleSort(int[] array){ for(int i = 0; i < array.length; i++){ in ...
- Java常用算法总结
冒泡排序 从左到右不断交换相邻逆序的元素,在一轮的循环之后,可以让未排序的最大元素上浮到右侧. 在一轮循环中,如果没有发生交换,那么说明数组已经是有序的,此时可以直接退出. 代码如下: public ...
- Java基础复习笔记基本排序算法
Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...
- 常用Java排序算法
常用Java排序算法 冒泡排序 .选择排序.快速排序 package com.javaee.corejava; public class DataSort { public DataSort() { ...
随机推荐
- JVM实战篇
1.1 JVM参数 1.1.1 标准参数 -version -help -server -cp 1.1.2 -X参数 非标准参数,也就是在JDK各个版本中可能会变动 -Xint 解释执行 -Xcomp ...
- ARM汇编指令-STMFD/LDMFD
根据调用规则ATPCS,程序一般都使用FD(FullDescending)类型的数据栈(满栈),那么对立的就由空栈类型的数据栈.空栈是指SP操作完后指向的地址空间是未使用的,反之满栈就是SP指向的地址 ...
- 设计模式六大原则 All In one
设计模式六大原则 All In one 开闭原则: 对扩展开放,对修改关闭; 设计模式的六大原则: 0.总原则-开闭原则 对扩展开放, 对修改封闭; 在程序需要进行拓展的时候, 不能去修改原有的代码, ...
- 海 鱼立 鲷 & 海䲞鲷
海 鱼立 鲷 & 海䲞鲷 䲞 lì 鲷 diāo 二长棘鲷 二长棘鲷(学名:Parargyrops edita)为辐鳍鱼纲鲈形目鲷科二长棘鲷属的鱼类,俗名板鱼.䲞鱼.盘仔鱼.立花.赤鬃.长鳍. ...
- window.URL.createObjectURL
window.URL.createObjectURL https://html5.xgqfrms.xyz/Canvas/safety-canvas.html var video = document. ...
- c++ 动态设置函数
#include <iostream> #include <Windows.h> #include <TlHelp32.h> using namespace std ...
- Flutter: 判断是Android还是Ios
/// 在ui中使用下面的这个判断 Theme.of(context).platform == TargetPlatform.android /// 而不是 import 'dart:io' Plat ...
- Flutter-desktop
flutter-desktop-embedding video windows $ flutter channel master && flutter upgrade 更新你的 flu ...
- 用一次就会爱上的cli工具开发
本文转载自用一次就会爱上的cli工具开发 写在前面 最近接手任务--使用nodejs开发一个公司内部使用的cli工具,简而言之就是输入一行命令快速搭建好项目结构,也可以通过不同的命令引入不同的文件. ...
- ASP.NET Core获取请求完整的Url
在ASP.NET项目中获取请求完整的Url: 获取System.Web命名空间下的类名为HttpRequestBase的Url方法: /// <summary>在派生类中替代时,获取有关当 ...