- 博客(9)
- 收藏
- 关注
原创 【力扣:python刷题】剑指 Offer 59 - II. 队列的最大值
用数组来表示一下,queue为队列,maxValue[0]保持当前元素的最大值,下一个值如果大于maxValue[0]就替换掉,否则保存到maxValue数组后面,保持往后递减。请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1。输出: [null,null,null,2,1,2]输出: [null,-1,-1]
2023-08-30 18:28:37
80
1
原创 【力扣:python刷题】剑指 Offer 20. 表示数值的字符串
使用正则表达式,根据’e’或者’E’的位置去判断,‘e’或者’E’(可选)后面跟着一个整数(整数前面字符可选)。'e’或者’E’前面可以是整数或者小数,那么小数点匹配0到1次:小数点前面数值匹配0到任意次时小数点后面数值匹配1次(小数部分第3个条件限制);小数点前面数值匹配1次时小数点后面数值匹配0到任意次(小数部分第1个条件限制)。s 仅含英文字母(大写和小写),数字(0-9),加号 ‘+’ ,减号 ‘-’ ,空格 ’ ’ 或者点 ‘.’。输入:s = “0”输入:s = “e”浑水摸鱼、投机取巧版。
2023-08-29 14:49:14
78
1
原创 【力扣:python刷题】剑指 Offer 30. 包含min函数的栈
小于等于中等于的原因是:保持两栈元素的一致性,调用pop函数出栈1时,如果此时是栈2的栈顶元素,那么栈2也pop。后来压入栈1的元素小于等于栈2的栈顶时才能压入栈2,这就保持了栈2中的元素按数值大小排序,栈顶是最小的元素。定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。需要两个栈,栈1用来入栈出栈操作,栈2用来非全部元素的排序,栈底到栈顶从大到小排序,要求输出最小值时就是栈顶的值。--> 返回 -3.
2023-08-29 11:00:22
69
原创 【力扣:python刷题】剑指 Offer 24. 反转链表
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。输入: 1->2->3->4->5->NULL。输出: 5->4->3->2->1->NULL。0
2023-08-28 19:44:20
71
1
原创 【力扣:python刷题】剑指 Offer 09. 用两个栈实现队列
(若队列中没有元素,deleteHead 操作返回 -1 )deleteHead:表示执行一个deleteHead()操作,此操作不需要参数,将栈底的元素删除,也就是将队列中先进来的元素删除,把5删除,返回值是5。deleteHead:表示执行一个deleteHead()操作,此操作不需要参数,将栈底的元素删除,此时队列中只有2了,把2删除,返回值是2。deleteHead:表示执行一个deleteHead()操作,此操作不需要参数,将栈底的元素删除,此时栈内没有元素,返回值为 -1。
2023-08-28 18:19:36
100
1
原创 【力扣:python刷题】剑指 Offer 06. 从尾到头打印链表
倒序输出节点值,先入后出的特点可以借助栈来完成。使用while循环head变量去遍历列表,将头节点append()进空数组中,再将下一个节点head.next赋值给head变量,去推进循环,再将节点head.val的值append()进数组中,最后一个节点的后面是null。输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。0
2023-08-28 16:17:42
108
1
原创 【力扣:python刷题】 剑指 Offer 58 - II. 左旋转字符串
用 i 去遍历字符串 s 的长度,因为 i 是从0开始的,在 i 小于 n 的时候,也就是将需要移到后面(左旋)的这些字符s[i]保存到空字符串a中。否则,i 大于等于 n 的时候,也就是将保持不动的字符s[i]保存到空字符串b中。字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。输入: s = “lrloseumgh”, k = 6。输入: s = “abcdefg”, k = 2。
2023-08-23 10:55:53
191
原创 【力扣:python刷题】剑指 Offer 05. 替换空格
字符串为不可变类型,可以使用循环去便利字符串中每一个字符,但是无法直接修改字符串中的某一位字符,所以需要新建一个列表用来存储修改后的字符,最后使用join函数将列表改为字符串类型。遍历字符串时,若字符串不是空格,则在空列表的后面直接append添加,若字符是空格,则将%20添加到列表后面。请实现一个函数,把字符串 s 中的每个空格替换成"%20"。以空格为字符拆分字符串,再用"%20"将拆分的字符连接起来。输入:s = “We are happy.”输出:“We%20are%20happy.”
2023-08-23 09:55:37
115
原创 CentOS 怎么使虚拟机联网?红帽linux
CentOS 怎么使虚拟机联网?红帽linux怎么使虚拟机联网?在网上找过很多答案,之前都是迷迷糊糊联网又断网的,这次找到了方法,就赶快记录下来。可能并不适用与每个人出现的问题,但是可以参考一下。1.虚拟机设置为NAT模式。2.设置VMnet8:譬如网关为192.168.137.1。DNS也设置好。可以在cmd中查看。命令:ipconfig3.设置虚拟网络编辑器。①如图:对钩都打好。②子网IP与刚才设置的VMnet8的子网网段相同。③NAT设置:网关与VMnet8的网关保持一致。
2021-09-01 18:57:07
670
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人