English
未读[TOC]
每日一话+单词遗忘表4.1
The liar’s punishment is, not in the least that he is not believed, but that he cannot believe anyone else.
abosorption 吸收
accelerate 加速
accumulation 积累
acquisition 获得
每日一话+单词遗忘表4.2
There are dark shadows on the earth, but its lights are stronger in the contrast.
admminttance 允许进入
每日一话+单词遗忘表4.3
Healing is a matter of time, but it is sometimes also a matter of opportunity.
adverb 副词
advisor 顾问
advocate 主张
aerial 空气
affair 事情
affluent 丰富的
每日一话+单词遗忘表4.4
Death is not the op ...
java
未读4.1
解决智力问题
给你一个下标从 0 开始的二维整数数组 questions ,其中 questions[i] = [pointsi, brainpoweri] 。
这个数组表示一场考试里的一系列题目,你需要 按顺序 (也就是从问题 0 开始依次解决),针对每个问题选择 解决 或者 跳过 操作。解决问题 i 将让你 获得 pointsi 的分数,但是你将 无法 解决接下来的 brainpoweri 个问题(即只能跳过接下来的 brainpoweri 个问题)。如果你跳过问题 i ,你可以对下一个问题决定使用哪种操作。
比方说,给你
1questions = [[3, 2], [4, 3], [4, 4], [2, 5]]
:
如果问题 0 被解决了, 那么你可以获得 3 分,但你不能解决问题 1 和 2 。
如果你跳过问题 0 ,且解决问题 1 ,你将获得 4 分但是不能解决问题 2 和 3 。
请你返回这场考试里你能获得的 最高 分数。
1234567891011121314151617class Solution101{ public long mo ...
hash
1.hash映射
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。
你可以按任意顺序返回答案。
wp:
12345678910111213class Solution { public int[] twoSum(int[] nums, int target) { 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}; } ...
二分查找
二分查找的原理就是取一个中间值,然后那中间值和目标值进行比较。
如果比目标值大的话,说明目标值在左边,中间值mid就变为右边right
相对应的,小于目标值的话,说明目标值在右边,中间值mid就变为left
2563. 统计公平数对的数目
给你一个下标从 0 开始、长度为 n 的整数数组 nums ,和两个整数 lower 和 upper ,返回 公平数对的数目 。
如果 (i, j) 数对满足以下情况,则认为它是一个 公平数对 :
0 <= i < j < n,且
lower <= nums[i] + nums[j] <= upper
123456789101112131415161718192021222324class Solution119{ public long countFairPairs(int[] nums,int lower, int upper){ Arrays.sort(nums); long ans = 0; for (int j=0;j<nu ...
redis数据类型
基础命令
String
redis中的数据是以键值对的形式存储的,然后存储是以二进制安全的形式进行存储
默认是不支持中文的,但连接的时候可以加上参数–raw,就是以原始的形式进行存储。这样就可以看到中文了
set:set key value 设置一个键值对
get:get key,返回的是值
12345127.0.0.1:6379> set name 你好OK127.0.0.1:6379> get name"\xe4\xbd\xa0\xe5\xa5\xbd"127.0.0.1:6379>
123127.0.0.1:6379> get name你好127.0.0.1:6379>
del:del key,用来删除一个键
exists:exists key 用来看一个键是否存在
123127.0.0.1:6379> exists name1127.0.0.1:6379>
返回1表明存在
keys:key * 用来查看所有的键,支持通配符
123127.0.0.1:6379> keys *name127.0 ...
[TOC]
数据结构
1.将关键字9, 17, 25, 33, 21, 77, 64, 53, 42, 31依次插入到初始为空的小根堆H中,得到的H是
小根堆是一个完全二叉树,每个节点都要小于等与他的左右节点
根节点是最小的值
最终:
[9, 17, 25, 33, 21, 77, 64, 53, 42, 31]
二叉树的形式:
123456789 9 / \ 17 25 / \ / \ 33 21 77 64/ \ /53,42,31
2.在一个二维数组A中,假设每个数组元素的长度为3个存储单元,行下标i为0~9,列下标j为0~7,从首地址200开始连续按列优先存放,在这种情况下,元素A[9][2}的起始地址为( )
一列一列地存,每列里是从上到下。
所以每个元素的起始地址相对于前一个元素的起始地址增加3个存储单元
起始地址 = 首地址 + (j * 行数 + i) * 元素长度
所以最后是287
3.考虑以下递归函数:
1234567int calculateI(int i) { if (i <= 1 ...
基础
1.什么是mysql
MySQL 是一个开源的关系型数据库,现在隶属于 Oracle 公司。是我们国内使用频率最高的一种数据库,我在本地安装的是最新的 8.3 版本。
怎么删除建立一张表?
使用DROP TABLE 来删除表
CREATE TABLE来创建表
创建表的时候可以使用PRIMARY KEY来创建主键
123456CREATE TABLE users ( id INT AUTO_INCREMENT, name VARCHAR(100) NOT NULL, email VARCHAR(100), PRIMARY KEY (id));
写一个升序/降序的sql语句
123SELECT id, name, salaryFROM employeesORDER BY salary DESC;
123SELECT id, name, salaryFROM employeesORDER BY salary DESC, name ASC;
排序的第一依据是salary 降序,第二一依据是name 升序
MYsql出现性能差的原因是什么?
可能是sql查询的时候使 ...
引入
MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。
常见的查询算法以及数据结构
建立索引,其实就是为了构建一种数据结构,可以应用到上面的一种算法。提供查询的效率
索引的本质是:
帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。
如果没用索引的话,会按照上下顺序来查找,就会匹配整张表,这叫全表扫描,这样的效率是很低的。
而mysql中的索引是在引擎层中实现的
b+tree索引 最常见的 都支持
hash索引 精确匹配 memory支持
r-tree索引 空间位置 myisam支持
full-text索引 除了memory不支持其他都支持
b-tree多路平衡查找树
几阶b-tree就最多有几个节点,会有n+1个指针
查询算法
顺序查找:
对比每个 ...
基础
1.说下计算机网络体系结构
计算机网络体系结构通过复杂的网络通信分为不同的层次,来实现交互化的目的。常见的模型分为OSI七层模型,tcp/ip四层模型和五层体系结构
OSI是理论上的网络通信模型,TCP/IP是实际应用层面的网络通信模型,五层结构是为了方便理解和记忆
OSI七层模型是一个网络架构模型,由国际标准化祖师提出,用于描述和标准化各种计算机网络的功能和过程。这七层分别是
应用层:最靠近用户的层,负责处理特定的应用程序细节。这一层提供了网络服务和用户应用软件之间的接口,例如web浏览器,ftp客户端和服务器,电子邮件客户端等等。
表示层:确保一个系统发送的信息可以被另一个系统的应用层读取。负责数据的转换压缩和加密。例如,确保数据从一种编码格式转换为另一种。ASCII->EBCDIC
会话层:管理用户的会话,空网络上两节点之间的对话和数据交换的管理。负责建立维护和终止会话。例如建立一个回鹘令牌,以便在网络上两个节点进行传递。
传输层:提供端到端的通信服务,保证数据的完整性和正确顺序。这一层包括TCP和UDP等。
网络层:负责在多个网络之间进行数据传输,确保数据能够在复杂 ...
English
未读每日一话+单词遗忘表3.1
There is something in every human being, even the most degraded, that slavery cannot corrupt – the soul’s instinct for freedom.
spade 铲子
steer 驾驶
stock 股票
storey 楼层
每日一话+单词遗忘表3.2
It always seems impossible until it’s done.
stove 火炉
straight 直的
strain 张力
strategy 战略
sphere 球
stretch 延申
stride 大步
strike 罢工
strip 剥去
strive 努力
speculate 思考
每日一话+单词遗忘表3.3
One cannot always be a hero, but one can always be a man.
strap 捆绑
subsequent 随后的
substance 实质的
subtract 减去
suburb 郊区
suck 吮吸
equ ...
基本概念
数据库(Database):存放和提供数据的库房
数据(Data):数据库中存储的基本对象
数据库管理系统(DBMS):位于用户和操作系统之间的一层数据管理软件
数据库系统:包括数据库,数据库管理系统,应用程序,数据库管理员
主键:用于唯一标识表中的某一条记录的属性或者属性的集合
外键:用于与另一张表关联,外键为灵一张表的主键
超键:超键是唯一能区分元组的属性和属性的集合
实例:数据库在某一时刻存储的真实数据
数据操纵语言:增删改查
数据定义语言:定义、删除、修改数据库中的对象
数据控制语言:用于控制用户对数据库操纵的权限
数据模型:现实世界数据特征的抽象,用来定于数据如何组织,数据之间的关系是怎么样的
并相容性:两个关系具有并相容性需要保证具有相同的属性个数,以及对于每个属性都有相同的域
视图:视图时虚拟的表,并不是物理存储的数据。是基本表或其他视图派生的数据。对视图的更新,实际上转换为对实际基表的更新。
数据模型
现实世界数据特征的抽象,用来定义数据如何组织,数据之间的关系怎样。
层次:
概念模型:按用户的观点来对数据或者信息进行建模
逻辑/实现模型:层次模型,网状模型, ...
事务
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。
ACID特性
原子性(Atomicity)
事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。
回滚可以用回滚日志(Undo Log)来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。
一致性(Consistency)
数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对同一个数据的读取结果都是相同的。
隔离性(Isolation)
一个事务所做的修改在最终提交以前,对其它事务是不可见的。
持久性(Durability)
一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不能丢失。
系统发生崩溃可以用重做日志(Redo Log)进行恢复,从而实现持久性。与回滚日志记录数据的逻辑修改不同,重做日志记录的是数据页的物理修改。
但是这几个特性不是有一种平级关系
只有满足一致性,事务的执行结果才是正确的。
在无并发的情况下,事务串行执行,隔离性一定能够满足。此 ...