代码编织梦想

【12】大厂面试常问:java反射机制是什么?-爱代码爱编程

 一.概念 反射就是把Java的各种成分映射成相应的Java类。 Class类的构造方法是private,由JVM创建。 反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和方法并且显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在

【11】面试常问:说一说为什么要拆分数据库,都有哪些方法?-爱代码爱编程

 1. 为什么要实现拆分数据库? 单体项目在构建之初,数据库的负载和数据量都不大,所以不需要对数据库做拆分,小型财务系统、文书系统、ERP系统、OA系统,用一个MySQL数据库实例基本就够用了。 就像《淘宝技术这十年》里面说到的,电商业务的数据量增长飞快,所以最开始的PHP+MySQL的架构已经不能满足实际要求了,于是淘宝想到的第一个办法就是把MySQ

【6】面试官必问:说一说 hashmap 中的容量与扩容如何实现?-爱代码爱编程

高手过招,招招致命 JDK1.8 中 HashMap 的底层实现,我相信大家都能说上来个 一二,底层数据结构 数组 + 链表(或红黑树) ,源码如下 /**  * 数组  */ transient Node<K,V>[] table; /**  * 链表结构  */ static class Node<K,V> impleme

【c++】哈希表特性总结及unordered-爱代码爱编程

✍作者:阿润菜菜 📖专栏:C++ 文章目录 前言一、哈希表的特性 - 哈希函数和哈希冲突1 哈希函数2. 哈希冲突 二、闭散列的实现 -- 开放地址法1. 定义数据结构2.insert()

分布式缓存学习笔记(七)—— 分布式缓存(一致性哈希算法)-爱代码爱编程

本章我们将主要讨论分布式缓存的概念,描述缓存集群相对单节点缓存的优势以及如何实现一个缓存集群。 为什么我们需要集群服务 用集群来提供服务有许多优点是单节点的服务无法相比的。 首先单节点的扩展性不好。我们知道网络吞吐量和

【c++】stl之unoerdered-爱代码爱编程

目录 概述 源码 HashTable.h UnorderedMap.h UnorderedSet.h test.cpp 概述 STL标准模板库中的map、set的底层数据结构是红黑树,会在数据插入时自动排序,unordered_map、unordered_set的底层数据结构是哈希表,不做排序,根据哈希值进行映射。 哈希算法可见这

leetcode 217. 存在重复元素 ( 排序 + 哈希-爱代码爱编程

1. 排序 时间复杂度: nlogn -----> sort带来的 空间复杂度: n class Solution { public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(), nums.end());

leetcode 349. 两个数组的交集 哈希表 & vector双指针去重-爱代码爱编程

349. 两个数组的交集 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2]  思路1: vector 去重 + 双指针遍历 vector 去重操作:      

c2064 项不会计算为接受1个参数的函数(unordered-爱代码爱编程

今天手撕A*算法的时候,遇见了以下报错:  三个错误全部指向这里:  经过我的具体排查,问题出现在这两个unordered_set中:  在出现了C2064和C2056报错后,我检索到以下相关内容,但是经过我的排查,和本问题不符合: 编译器错误 C2064 | Microsoft Learn​​​​​​ 接着,我尝试从unordere

hashmap与hashtable的区别与联系-爱代码爱编程

1.HashMap与HashTable相同点 1.二者都是以哈希表(数组+链表)数据结构存储数据.2.二者都可以进行数组扩容 2.HashMap与HashTable区别 1.是否线程安全 HashMap不是线程安全的,HashTable是线程安全的;【HashTable内部的方法基本都使用了synchronized关键字修饰】 注意:现在HashT

chapter 5: 《design consistent hashing》 第5章 《设计一致的哈希》-爱代码爱编程

CHAPTER 5: DESIGN CONSISTENT HASHING 为了实现水平扩展,有效且均匀地分发请求/数据是很重要的在服务器上。一致散列是实现这一目标的常用技术。但首先,让我们深入了解一下这个问题。 重组问题

【c++】位图-爱代码爱编程

目录 前言 一、概念 二、代码实现 1.set 2.reset 3.test 三、位图的应用 前言 我们先来看腾讯曾经的一道面试题:   给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在 这40亿个数中。   常规方法:

第一个只出现一次的字母-爱代码爱编程

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 示例 1: 输入:s = "abaccdeff" 输出:'b' 示例 2: 输入:s = ""  输出:' '   限制: 0 <= s 的长度 <= 50000 采用哈希表实现代码如下: class Solution { public:

acwing 241. 楼兰图腾-爱代码爱编程

   一道本蒟蒻想不到的题目。 暴力模拟是求出每一个点左边和右边都比他大和小的数目,然后相乘输出。 tip:左边比他小的都求出来之后,那剩下的都是比他大的,只用扫一遍 TLE代码(时间复杂度:O(n^2)) #include <bits/stdc++.h> using namespace std; long long n,

pta——1041 考试座位号、1042 字符统计、1043 输出patest、1044 火星数字-爱代码爱编程

1041 考试座位号 解决代码 利用哈希表整合信息输出即可。 #include<iostream> #include<vector> #include<algorithm> #i

pta——1036 跟奥巴马一起编程、1037 在霍格沃茨找零钱、1038 统计同成绩学生、1039 到底买不买、1040 有几个pat-爱代码爱编程

1036 跟奥巴马一起编程 解决代码 模拟题目即可。 #include<iostream> #include<vector> #include<algorithm> using

前端路由模式的区别详解(hash 与 history)-爱代码爱编程

设置方式 import VueRouter from 'vue-router' const routes = [ ] const router = new VueRouter({ mode:'hash',// 或者 h

简单哈希 --重点理解hash的思想-爱代码爱编程

将大范围映射到小范围--hash 模拟散列表 :拉链法 维护一个集合,支持如下几种操作: I x,插入一个数 x;Q x,询问数 x 是否在集合中出现过; 现在要进行 N 次操作,对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 N,表示操作数量。 接下来 N 行,每行包含一个操作指令,操作指令为 I x,Q x 中的一种。 输

复杂链表的复制-剑指offer35-java-爱代码爱编程

一、题目描述 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出:[[7,null],[13,

(树状数组,线段树)(数组模拟哈希)(解题步骤)acwing数星星-爱代码爱编程

(树状数组,线段树)(数组模拟哈希)(解题步骤) 题链 https://www.acwing.com/problem/content/1267/ 没买课的点不开,耗子尾汁 文末放图片 解决问题先看本质,找数据范围与输出