栈和队列1.用两个栈实现队列2.包含min函数的栈3.栈的压入弹出序列正文栈和队列1. 用两个栈实现队列题目表述用两个栈实现一个队列。队列的声明如下:请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。解题思路一个栈用来存储插入队列数据... ...
分类:
其他好文 时间:
2020-02-28 11:59:59
阅读次数:
66
题目传送门 解题思路: 这道题其实就是求一个字符串的所有前缀及其本身的循环节(如果有),思路同另一道题. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 5 using namespace std; 6 7 in ...
分类:
其他好文 时间:
2020-02-25 23:16:14
阅读次数:
63
来源:JZOJ 题目描述 你有一个猪圈,有 $N$ 头猪,每天你最多可以杀一头猪卖钱,收益就是猪的体重。但是每过一天猪的体重都会下降 $Pi$,问 $K$ 天内你的最大获利。 解题思路 这是一道纯粹的 $01$ 背包,就是要处理一个细节:猪的体重会下降; 首先,要按体重下降速度排序,下降快的肯定得先 ...
分类:
其他好文 时间:
2020-02-24 20:39:13
阅读次数:
66
农夫知道一头牛的位置,想要抓住它。农夫和牛都于数轴上 ,农夫起始位于点 N(0<=N<=100000) ,牛位于点 K(0<=K<=100000) 。农夫有两种移动方式: 1、从 X移动到 X-1或X+1 ,每次移动花费一分钟 2、从 X移动到 2*X ,每次移动花费一分钟 假设牛没有意识到农夫的行 ...
分类:
其他好文 时间:
2020-02-24 18:49:33
阅读次数:
106
重建二叉树 "LeetCode 105" 首次需要知道前序遍历和中序遍历的性质。 解题思路如下:首先使用前序比遍历找到根节点,然后使用中序遍历找到左右子树的范围,再分别对左右子树实施递归重建。 本题的难点就是如何在前序遍历中找到左右子树的范围以分别重构,这可以根据中序遍历中的左右子树的数量来分辨。使 ...
分类:
其他好文 时间:
2020-02-23 22:01:08
阅读次数:
53
链表排序 0.来源 来源:力扣(LeetCode) 题目链接:https://leetcode cn.com/problems/sort list 1.题目描述 在?O(n?log?n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 2.测试用例 3.解题思路 3.1 总体思路 ? 看到链表排序 ...
分类:
编程语言 时间:
2020-02-23 09:28:02
阅读次数:
69
解题思路:1.首先写一个列表,然后用if语句判断长大大小,如果大于就利用切片保存前两个长度的内容2.然后再把这个功能封装为函数 1 L=[1,2,3,4]#定义一个列表 2 if len(L)>2:#如果L列表长度大于2 3 new_list=L[0:2]#就取出L前两位长度,这时候可以用到赋值 封 ...
分类:
其他好文 时间:
2020-02-22 19:53:11
阅读次数:
58
原题请见 https://www.jarvisoj.com/challenges 搬运大佬的exp ,exp脚本中的这两行令人头晕,原题的动态链接库丢到ida中 以下是解题思路 buffer=io.recvline()[14: 2] 这应该是接收到一行数据,将除了\n以外的元素记为 1,以此类推,即 ...
分类:
系统相关 时间:
2020-02-21 19:49:53
阅读次数:
131
1. 原题链接:https://leetcode.com/problems/lru cache/ 2. 解题思路 1. 为了增删改查都有较高的性能,使用双向链表和哈希表的组合 2. 针对LRU,哈希表对于查询和修改可以实现O(1)的时间复杂度,但是无法在O(1)时间复杂度实现删除操作 3. 双向链表 ...
分类:
系统相关 时间:
2020-02-20 17:22:47
阅读次数:
78
1. 原题链接:https://leetcode.com/problems/copy list with random pointer/ 2. 解题思路 2.1 映射表 1. 建立新旧节点之间的映射表:old new,来解决复制random指针 2.2 克隆链表 1. 创建一个包含新节点的克隆链表: ...
分类:
其他好文 时间:
2020-02-19 13:12:15
阅读次数:
55