leetcode706_设计哈希表

private int capacity = 16;
private int[] container;
private boolean[] table;

public MyHashMap() {
    this.container = new int[capacity];
    this.table = new boolean[capacity];
}

private void expand(int key) {
    int newCapacity = capacity;
    while(newCapacity <= key) newCapacity <<= 1;
    int[] newContainer = new int[newCapacity];
    boolean[] newTable = new boolean[newCapacity];
    for(int i = 0; i < capacity; i++) {
        newContainer[i] = container[i];
        newTable[i] = table[i];
    }
    container = newContainer;
    table = newTable;
    capacity = newCapacity;
}

public void put(int key, int value) {
    if(key > capacity) expand(key);
    container[key] = value;
    table[key] = true;
}

public int get(int key) {
    if(key > capacity) expand(key);
    if(table[key]) {
        return container[key];
    }
    else {
        return -1;
    }
}

public void remove(int key) {
    if(key > capacity) expand(key);
    table[key] = false;
}

推荐这些文章:

[简单] 705. 设计哈希集合

https://leetcode-cn.com/problems/design-hashset/

 
 无脑操作:

class MyHashSet {

private List<Integer> a = new ArrayList<>();

public MyHashSet() {

}

public void add(int key) {
if(a.indexOf(key) < 0) {
a.add(key);
}
}

pu...

[简单] 706. 设计哈希映射

https://leetcode-cn.com/problems/design-hashset/

我会写一些无脑得代码

class MyHashMap {

class Node {
int key;
int value;

Node(int key, int value) {
this.key = key;
this.value = value;
}

public int getKey() {
return key;
...

字符串双哈希+自定义unordered_map pair<int,int>当key 1923. 最长公共子路径

1 class Solution {
2 public:
3 typedef pair<int,int> pii;
4 const int k1=1331;
5 const int k2=13331;
6 const int mod1=1e9+7;
7 const int mod2=1e9+9;
8 int p1[100005],p2[100005];
9 struct pairhash {
10 size_t operator() (const pair<int, int>...

使用类做为Dictionary<T,K>的key需什么要求?

问题
<P>&nbsp;</P>

最佳回答
没有要求

...

腾讯五十题 No.32 LRU缓存

感觉贼难啊

在Java里边比较简单
class LRUCache extends LinkedHashMap<Integer, Integer>{
private int capacity;
public LRUCache(int capacity){
super(capacity,0.75F,true);
this.capacity = capacity;
}

public int get(int key){
return super.getOrDefault(key,-1);
}

...

哈希表,有序表介绍

哈希表

是集合结构

如果只有key, 没有伴随数据value, 可以使用HashSet

有key 有 value,HashMap

hashmap 和 hashset的区别就是有无value.

哈希表的增删改差 的时间复杂度都是O(1),常数时间比较大。

放入哈希表的东西,如果是基础类型,内部按值传递,内存占用就是 这个东西的大小

放入哈希表的东西,不是基础类型,内部按引用传递,内存占用是 这个东西 内存地址的大小

有序表

是集合结构
只有key,没有value, TreeSet
既有key,又有value, TreeMap
TreeSet 和 TreeMap...

流快速收集指定key-value的map集合

Map<Long, FloorElement> floorElementMap2 = floorElementList4.stream().collect(Collectors. toMap(FloorElement::getFloorId, value -> value));

本文来自博客园,作者:三号小玩家,转载请注明原文链接:https://www.cnblogs.com/q1359720840/p/15805966.html

...

vue渲染列表时报错Avoid using non-primitive value as key, use string/number value instead.

一进页面就报错如下

一进入某页面,就会冒出这么一长串的报错,这个是由于v-for循环里,key值可能重复了,所以会报这个错。查看了一下页面代码: 发现key值重复了

key值是必须唯一的,如果重复就会报错可以把key值改为index或者id,就可以避免这个情况(这里key最好用id,才能达到key值唯一,就地复用的原则,大大节省了dom的渲染)

 
 
转 : https://blog.csdn.net/lily2016n/article/details/84141054
 

...

13.回顾递归调用机制

1.打印问题
public static void test(int n) {
if (n > 2) {
test(n - 1);
} //else {
System.out.println("n=" + n);
// }
}
2.阶乘问题
public static int factorial(int n) {
if (n == 1) {
return 1;
} else {
return factorial(n - 1) * n; // 1 * 2 * 3
}
}

...

Java实现找出数组中重复元素以及个数

public class MainClass {
public static void main(String[] args)
{
int[] my_array = {3, 2, 5, 5, 6, 6, 7, 2, 9, 2};
findDupicateInArray(my_array);

}

public static void findDupicateInArray(int[] a) {
int count=0;
for(int j=0;j<a.length;j++) {
...

文章标题:leetcode706_设计哈希表
文章链接:https://www.dianjilingqu.com/50920.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>