https://blog.csdn.net/u010575093/article/details/50731281
抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量
接口不可继承抽象类,抽象类可实现多个接口。接口与接口之间是继承,用extends,可继承多个接口
mport java.util.HashMap;
import java.util.Map;
interface Test{
public void mm();
}
interface Test1{
public void kk();
}
//接口可以继承多个接口
interface Test2 extends Test, Test1{
public void mk();
}
//抽象类成员都是public,
//抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。
//抽象类可以继承接口,并实现接口方法
abstract class ATest1 implements Test1{
public void kk(){ System.out.println("ATtest mm"); }
}
abstract class ATest2 implements Test1, Test{
public void mm(){ System.out.println("ATest2 mm"); }
public void kk(){}
}
// 抽象类可以继承抽象类 也可以继承实体类
abstract class ATest3 extends ATest1{
}
class Solution{
//时间复杂度n
public void tosum(int[] nums, int target){
Map<Integer, Integer> map = new HashMap<>();
for(int i = 0; i < nums.length; i++)
map.put(nums[i],i);
for(int i = 0; i < nums.length; i++){
int comp = target - nums[i];
System.out.println("comp="+comp+" containsKey "+map.containsKey(comp));
System.out.println("map get "+map.get(comp));
if(map.containsKey(comp) && map.get(comp)!=i){
System.out.println("match:"+i+" "+map.get(comp));
}
}
System.out.println("tosum");
}
//时间复杂度1
public int[] tosum1(int[] nums, int target){
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int[] { map.get(complement), i };
}
map.put(nums[i], i);
}
throw new IllegalArgumentException("No two sum solution");
}
}
class HashSum{
public static void main(String argv[]){
System.out.println("111");
new Solution().tosum();
}
}