(科普)透视与焦距的关系# PhotoGear - 摄影器材
a*0
1 楼
代码本身很简单 但是超时 而且test case 不容易复制 因为是cap =2048 然后一长串
操作的
import java.util.*;
public class LRUCache {
int cap;
//hashmap is for Cache's storage
// arraylist is for items' recencies
HashMap myHashMap; // key-value
ArrayList myArrayList; // key
public LRUCache(int capacity) { // this is the constructor
this.cap = capacity;
myHashMap = new HashMap(); // key-value
myArrayList = new ArrayList();// key
}
public int get(int key) {
if(this.myHashMap.get(key) == null)
return -1;
this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);
return this.myHashMap.get(key).intValue();
}
public void set(int key, int value) {
if(this.myHashMap.size()< this.cap){
if(this.myHashMap.get(key) != null){
this.myHashMap.put(key,value);
this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);
}else{
this.myHashMap.put(key,value);
this.myArrayList.add(key);
}
}else{
if(this.myHashMap.get(key) != null){
this.myHashMap.put(key,value);
this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);
}else{
this.myHashMap.remove(myArrayList.get(0));
this.myHashMap.put(key,value);
this.myArrayList.remove(0); // remove entry with index =0
this.myArrayList.add(key);
}
}
}
}
操作的
import java.util.*;
public class LRUCache {
int cap;
//hashmap is for Cache's storage
// arraylist is for items' recencies
HashMap
ArrayList
public LRUCache(int capacity) { // this is the constructor
this.cap = capacity;
myHashMap = new HashMap
myArrayList = new ArrayList
}
public int get(int key) {
if(this.myHashMap.get(key) == null)
return -1;
this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);
return this.myHashMap.get(key).intValue();
}
public void set(int key, int value) {
if(this.myHashMap.size()< this.cap){
if(this.myHashMap.get(key) != null){
this.myHashMap.put(key,value);
this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);
}else{
this.myHashMap.put(key,value);
this.myArrayList.add(key);
}
}else{
if(this.myHashMap.get(key) != null){
this.myHashMap.put(key,value);
this.myArrayList.remove(new Integer(key));
this.myArrayList.add(key);
}else{
this.myHashMap.remove(myArrayList.get(0));
this.myHashMap.put(key,value);
this.myArrayList.remove(0); // remove entry with index =0
this.myArrayList.add(key);
}
}
}
}