LeetCode刷题笔记 Java常用代码

基础

import java.util.*;

public class Main{

        public static void main(String[] args){

                ......

        }

}

Scanner sc = new Scanner(System.in);//输入

new Main.Solution();//static函数里面调用非static函数 类.函数

Random

Random r=new Random();

r.nextInt(a);//[0,a)

数组

new int[0][]//空数组

System

System.arraycopy(original, i, ans[i / n], 0, n);//数组复制

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

代码解释:

  Object src : 原数组

        int srcPos : 从元数据的起始位置开始

  Object dest : 目标数组

  int destPos : 目标数组的开始起始位置

  int length : 要copy的数组的长度

Arrays

Arrays.sort()//排序

HashMap

Map<Character,Character> map=new HashMap(){

{

put(')','(');

put(']','[');

put('}','{');

}

};//初始化实例

map.get(key);

map.put(key,num);

map.containsKey(key);

map.keyset();//返回key的String[]集合 常用于循环

map.getOrDefault(key,0);

map.remove(key);

HashSet

set.add();

set.remove();

set.size();

set.clear();

String

s.trim();//去除前后空格

s.substring(start, start + maxLen)//左闭右开

s.indexOf(ss);//ss可以是整数也可以是字符串 返回指定字符串第一次出现的索引 没有则返回-1也可以从fromIndex开始位置

s.indexOf(ss,fromIndex);

String[] ss = s.split(" ");//字符串按照空格分开

StringBuilder

StringBuilder sb=new StringBuilder();

sb.append('(');

sb.deleteCharAt(cur.length()-1);

sb.toString();//转换成String

ArrayList

List<List<Integer>> ans = new ArrayList<List<Integer>>();//两个List的初始化方式

ans.add(new ArrayList<Integer>(t));//List<Integer> t = new ArrayList<Integer>();

Collections.swap(output, first, i);//把List两个位置的元素调换

Deque栈

Deque<Integer> d =new LinkedList();

d.isEmpty();

d.peek();

d.pop();

d.push();

Queue队列

Queue<String> q=new LinkedList();

q.offer();

q.element();

q.poll();

PriorityQueue优先队列

//优先队列 弹出最左边数

PriorityQueue<ListNode> queue = new PriorityQueue<>(new Comparator<ListNode>() {//比较器 升序

@Override

public int compare(ListNode o1, ListNode o2) {

return o1.val-o2.val;

}

});

数学

//判断是否超界

if (rev < Integer.MIN_VALUE / 10 || rev > Integer.MAX_VALUE / 10) {

return 0;}

a^a=0;//相同数异或相乘=0

0^a=a;

n & (n - 1);//最低位移除

n&(-n);//获取最低位1

1<<n;//2^n

Scanner

scan.hasNext();

...hasNextInt();

...hasNextLine();

...next();

...nextInt;

...nextLine();

Integer

Integer.valueOf(s);//String转Integer 

Character

Character.isDigit(c);//返回是否为数字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值