数组简单题笔记1
一、 题号1两数之和:
1、哈希表的用法:
a 建立 Map<Key,Value> map = new HashMap<>();
b 添加表项 map.put(K,V);
删除表项 map.remove(K,V);
void clear();//清空
V get(K);//获取K键的值
boolean isEmpty();//判空
int size();//获取map的大小
V remove(K);//删除K键的值,返回的是V,可以不接收
boolean containsKey(K);//判断是否有K键的值
boolean containsValue(V);//判断是否有值是V
Object clone();//浅克隆,类型需要强转;如HashMap<String ,Integer> map2=(HashMap<String, Integer>) map.clone();
2、 手动抛异常 throw new IllegalArgumentException(“no two sums”);
二、题号26删除排序数组中的重复项
a 利用for嵌套if语句设置快慢双指针
三、题号35搜索插入位置
a 二分法代码 int left = 0, right = nums.length - 1;
while(left <= right) {
int mid = (left + right) / 2;
if(nums[mid] == target) {
// 相关逻辑
} else if(nums[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}