- 博客(138)
- 收藏
- 关注
原创 代码随想录day10 | 20.有效的括号 1047.删除字符串中的所有相邻重复项 150.逆波兰表达式求值
利用栈进行"消除"的任务+逆波兰表达式
2023-07-23 23:31:30
268
原创 代码随想录day7 | 344.反转字符串 541.反转字符串II 剑指Offer05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串
反转字符串里的单词有点小难,需要多做、多想
2023-07-19 20:54:06
583
原创 代码随想录day4 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 02.07.链表相交 142.环形链表II
面试及其容易遇到的带环链表问题
2023-07-15 15:05:52
1014
原创 Python字典
字典是一种存储键值对的结构.啥是键值对?这是计算机/生活中一个非常广泛使用的概念.把 键(key) 和 值(value) 进行一个一对一的映射, 然后就可以根据键, 快速找到值.在Python的字典中,可以同时包含很多个键值对.同时要求这些键,不能重复!
2023-07-06 15:27:06
183
原创 Python元组
协同开发的时候,一个程序猿A实现一些功能,提供给程序猿B来使用A写好一些函数,让B去调用,函数肯定要传参,B在传参的时候就可能会纠结一个问题:我把我的参数传过去了,A的函数里面是否会把我的参数的内容给改了呢?如果使用的元组作为参数,就可以避免这样的纠结。元组不能修改=>不可变对象(不可变对象,是可以哈希的!
2023-07-06 15:26:19
229
原创 Python列表
如果表示的数据少,直接定义几个变量就行了,也有的时候,要表示的数据就比较多。Python中列表和元组,就是这样的机制,可以用一个变量来表示很多个数据就类似于其他编程语言中的"数组"列表和元组,大部分的功能都是差不多的!列表是可变的:创建好了之后,随时能改。元组是不可变的:创建好了之后,改不了。要想改,只能丢弃旧的,搞个新的。
2023-06-14 09:56:05
702
原创 Python函数
定义格式def 函数名(形参列表) : 函数体 return 返回值调用函数名(实际参数列表) or 返回值 = 函数名(实际参数列表)Python中要求,函数定义写在前面,函数调用写在后面,先定义后调用。
2023-06-09 09:42:32
865
原创 Linux线程的同步与互斥(二) 条件变量+信号量
例如:当一个线程访问队列时,发现队列为空时只能等待,直到其他线程将一个节点添加到队列中,显然,只有互斥锁的情况下,我们比较困难的知道临界资源的状态,此时我们需要一种机制或者策略来知道临界资源的状态——条件变量!对于生产函数,他关心的是空格子,所以先要申请空格子资源,申请成功,代码顺序往后执行,空格上就放上了数据,释放时,虽然格子被占据了,但是数据却多了,所以要释放数据资源!我们需要进行条件检测的时候,这里需要使用循环的方式,来保证退出循环一定是因为条件不满足导致的!刚刚开始的时候为空,拿和放在同一个位置;
2023-06-07 23:41:40
632
原创 Python 语句
range是一个内建函数,起到的效果就是得到一个“可迭代对象" 这个可迭代对象中就包含了一系列的整数,range(beg, end) => [beg, end),前闭后开区间。在C++ /Java中,对于代码缩进是没有强制要求的,缩进具体怎么写都不影响代码的编译运行结果.如果缩进没有好好的统一风格来写,也是对于可读性比较影响。虽然希望条件满足的时候,啥都不做,但是由于Python对于语法格式尤其是缩进和代码块要求较高,所以如果啥都不写(只写个注释)是不符合语法要求的。Python中缩进是非常重要的!
2023-06-07 11:06:16
594
原创 shell编程
Linux Shell中的变量分为,系统变量和用户自定义变量。等等,比如:echo $HOME 等set1 . 定义变量:变量 = 值 2 . 撤销变量:unset 变量 3 . 声明静态变量:readonly 变量,注意:不能unset/bin/bash A = 100 echo $A echo A = $A unset A echo A = $A #设置一个静态变量,而且静态变量不能unset readonly B = 2 echo B = $B。
2023-06-05 16:01:42
832
1
原创 Python基础语法
一个编程语言,是否是动态类型,只是取决于运行时,类型是否发生改变,不取决于变量定义的时候是否声明类型!Python 作为一个动态类型的语言,在定义变量的时候,也是可以写类型的!动态类型写法,比较灵活的提高了语言的表达能力,然鹅,在编程中, “灵活"这个词往往是"贬义”,更容易出错!相比之下,静态类型的语言还是更好一些的,尤其是在大型的程序中,多人协作开发。
2023-06-03 23:05:11
627
原创 C++布隆过滤器和哈西切分
切分的时候,选择一个哈西函数进行切分,依次遍历文件中的每个query,通过哈西函数,把每个query转换成为一个整数 i (0
2023-05-27 18:06:46
1085
原创 C++位图
数据是否在给定的整形数据中,结果是在(1)或者不在(0),刚好是两种状态,那么可以使用一个二进制比特位来代表数据是否存在的信息,如果二进制比特位为1,代表存在,为0代表不存在。三种状态定义为:00 01 10,当我们读取到重复的整数时,就可以让其对应的两个位按照00→01→10的顺序进行递增变化,最后状态是01的整数就是只出现一次的整数。一个位可以表示两个(0 1)状态,三种状态我们需要2个比特位,意思就是说,我们需要开两个位图,这两个位图的对应位置分别表示该位置整数的第一个位和第二个位。
2023-05-19 21:21:47
700
原创 MySQL—日志
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言,相当于就是建库建表语句)语句和 DML(数据操纵语言,就是增删改)语句,但不包括数据查询(SELECT、SHOW)语句。作用:①灾难时的数据恢复;②MySQL的主从复制。log_bin_basename:当前数据库服务器的binlog日志的基础名称(前缀),具体的binlog文件名需要再该basename的基础上加上编号(编号从000001开始)。
2023-05-19 10:36:34
2778
原创 MySQL—MVCC
即当我们某个事务执行快照读的时候,对该记录创建一个 Read View 读视图,把它比作条件,用来判断当前事务能够看到哪个版本的数据,既可能是当前最新的数据,也有可能是该行记录的 undo log 里面的某个版本的数据。操作的时候生产的 读视图 (Read View),在该事务执行的快照读的那一刻,会生成数据库系统当前的一个快照,记录并维护系统当前活跃事务的ID(当每个事务开启时,都会被分配一个ID, 这个ID是递增的,所以最新的事务,ID值越大)但如果是快照读,读取历史版本的话,是不受加锁限制的。
2023-05-16 23:01:59
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人