leetcode做题中不会的Java语法总结

本文总结了LeetCode中遇到的Java编程问题,包括子数组长度计算、HashMap用法、字母异位词判断、数组操作、null值处理等,以及增强for循环和相关数据结构的使用场景。

2023-11-22

209.长度最小的子数组

(1) Integer.MAX_VALUE

int result = Integer.MAX_VALUE;

(2) Math.min()

result = Math.min(result, right - left + 1);

(3) 数组长度

int[] nums 
for (int right = 0; right < nums.length; right++) 

(4) 返回值,三元运算符

return res==100000000?0:res;

2023-11-22

904.水果成篮

Java中 HashMap用法
(1) 定义 <key, value>

 Map<Integer, Integer> cnt = new HashMap<Integer, Integer>();

(2) put 方法
V put(K key, V value)
将指定的值value与此映射中的指定键key相关联。
就是把关键字为key的,赋值为value。

  cnt.put(fruits[right], cnt.getOrDefault(fruits[right], 0) + 1);

(3) getOrDefault方法
语法:public V getOrDefault(Object key, V defaultValue)
调用:hashmap.getOrDefault(Object key, V defaultValue)
hashMap是HashMap的一个对象。指定key,获得对应value。如果找不到 key ,则返回设置的默认值 defaultValue。

 cnt.put(fruits[right], cnt.getOrDefault(fruits[right], 0) + 1);

代码的含义是:如果当前HashMap中存在 key=fruits[right],使其value加一。如果不存在,就新增 key=fruits[right],此时value=1。

(4) get 方法
public V get(Object key) 返回到指定键所映射的值

 if (cnt.get(fruits[left]) == 0) {
	 //......
 }

(5) remove 方法
public V remove(Object key) 从该地图中删除指定键的映射(如果存在)。

  cnt.remove(fruits[left]);

2023.12.19

242. 有效的字母异位词

String、HashMap
242做题总结

349. 两个数组的交集

HashSet的使用
349做题总结

2023.12.29

增强for的使用场景

使用范围:用来遍历集合和数组(必须有遍历目标,目标只能是集合或者数组),所有单列表集合都可以使用增强for循环

454. 四数相加 II

Java中数组的默认值

383题

交换两个数字的三种方法

344. 反转字符串

2024.01.15

Java 中 null、NULL、nullptr 区别

二叉树的遍历

Collections.reverse()

二叉树的遍历

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值