
奇怪了,换台电脑就没报错,之前那台一直类名报错

HashMap
java
import java.util.Map;
public class HashMap {
public void main() {
Map<String, Integer> a = new java.util.HashMap<>();
a.put("1", 2);
System.out.println(a.get("1"));
}
}

java
import java.util.Map;
public class HashMap {
public void main() {
Map<String, Integer> a = new java.util.HashMap<>();
a.put("1", 2);
System.out.println(a.get("0"));
}
}

java
import java.util.Map;
public class HashMap {
public void main() {
Map<String, Integer> a = new java.util.HashMap<>();
a.put("kkkkkk", 2);
System.out.println(a.get(2));
}
}

java
import java.util.Map;
public class HashMap {
public void main() {
Map<String, Integer> a = new java.util.HashMap<>();
a.put("kkkkkk", 2);
System.out.println(a.get("2"));
}
}
java
import java.util.Map;
public class HashMap {
public void main() {
Map<String, Integer> a = new java.util.HashMap<>();
a.put("kkkkkk", 2);
System.out.println(a.get("kkkkkk"));
}
}

两数之和
java
throw new IllegalArgumentException("No two sum solution");

时间复杂度是o1,就是一下子就能找到
java
import java.util.HashMap;
import java.util.Map;
public class Solution2 {
public int[] twoSum(int[] nums, int target) {
//定义hashmap
Map<Integer,Integer> map=new HashMap<>();
//遍历
for (int i = 0; i < nums.length; i++) {
if (map.containsKey(target-nums[i])){
//返回数组,这里还不太会
//重新定义了一个数组,直接返回中定义
return new int[]{map.get(target-nums[i]),i};
}
//把没找到的数放进去,不符合条件的放进去,把当前遍历到的放进去
map.put(nums[i],i);
}
//还差什么,为什么标红,为什么一定要throw掉
//没定义void 就必须有返回值,定义了int[] twoSum,必须返回个数组
throw new IllegalArgumentException("no two sum solution");
}
}


什么叫类型实参




java
class Solution {
public int[] twoSum(int[] nums, int target) {
//定义map类
Map<Integer,Integer> map=new HashMap<>();
//遍历
for(int i=0;i<nums.length;i++)
{
//调用map.contains方法查找target-nums[i]的元素
if(map.containsKey(target-nums[i])){
//如果存在,返回一个数组,把value值返回,一个值是map.get(target-num[i])
//新建一个数组,还不太会
return new int[]{map.get(target-nums[i]),i};}
map.put(nums[i],i);
}
//定义了int[] 需要返回[] 这里把错误抛给计算机
throw new IllegalArgumentException("no two sum solution");
}
}
//初始化数组
//先想思路,看题解,思路对不对,再写
//很一样直接开始写
//没思路直接看题解
3.给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度
给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度
思路:
遍历字符串,比较前后,一样计数,不一样重写开始;修正:一样 长度为1 ,不一样长度加一,一样,停止,返回上个长度
基元类型
