一、已知线性表中元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值大于mink且小于maxk的元素(若表中存在这样的元素)同时释放被删结点空间,并分析你的算法的时间复杂度(注意:mink和maxk是给定的两个参变量,它们的值可以和表中的元素相同,也可以不同)。 答: 本题对 ...
分类:
编程语言 时间:
2020-05-05 19:53:28
阅读次数:
178
题目: 解答: 单调栈 正向遍历,单调递增栈,找出自始至终没有出栈的最大索引 l 反向遍历,单调递减栈,找出自始至终没有出栈的最小索引 r 中间就是需要排序的最小子数组 1 class Solution { 2 public: 3 int findUnsortedSubarray(vector<in ...
分类:
编程语言 时间:
2020-05-05 17:49:42
阅读次数:
56
题目: 解答: 思路:滑动窗口。 每个(连续)增加的子序列是不相交的,并且每当 nums[i-1]>=nums[i] 时,每个此类子序列的边界都会出现。当它这样做时,它标志着在 nums[i] 处开始一个新的递增子序列,我们将这样的 i 存储在变量 anchor 中。例如,如果 nums=[7,8, ...
分类:
编程语言 时间:
2020-05-04 19:32:43
阅读次数:
71
连续攻击游戏(递增1)题解 (并查集) Describe lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。 游戏进行到最后,lxhgww遇到 ...
分类:
其他好文 时间:
2020-05-04 19:29:51
阅读次数:
50
题目: 解答: 方法一:线性扫描。 我们从数组的最左侧开始扫描,直到找到第一个不满足 A[i] < A[i + 1] 的 i,那么 i 就是这个数组的最高点。如果 i = 0 或者不存在这样的 i(即整个数组都是单调递增的),那么就返回 false。否则从 i 开始继续扫描,判断接下来的的位置 j ...
分类:
编程语言 时间:
2020-05-04 19:20:18
阅读次数:
63
Hash表也称散列表,也有直接译作哈希表,Hash表是一种根据关键字值(key - value)而直接进行访问的数据结构。它基于数组,通过把关键字映射到数组的某个下标来加快查找速度,但是又和数组、链表、树等数据结构不同,在这些数据结构中查找某个关键字,通常要遍历整个数据结构,也就是O(N)的时间级, ...
分类:
其他好文 时间:
2020-05-03 22:00:11
阅读次数:
58
正则化与交叉验证用于模型选择 1 正则化 正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty iterm )。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如,正则化项可以是模型参数向量的范数。 正则化一般形式: 正 ...
分类:
其他好文 时间:
2020-05-03 20:31:49
阅读次数:
81
题目: 解答: 方法一:中序遍历 + 构造新的树 我们在树上进行中序遍历,就可以从小到大得到树上的节点。我们把这些节点的对应的值存放在数组中,它们已经有序。接着我们直接根据数组构件题目要求的树即可。 1 /** 2 * Definition for a binary tree node. 3 * s ...
分类:
其他好文 时间:
2020-05-03 16:12:38
阅读次数:
61
虽然之前没做过数独,不知道这种题是咋出出来的,但的确每一步都能通过一定的推理确定,不含赌的成分(话说假设法不算赌吧quq)。 每一行每一列每一个九宫格内1-9只出现一次,从带有圆球一端开始每条曲线上的数字严格递增。 先给原图: 以下提供一种解题思路: 1.考虑字母M,因为(4,6)含有数字8,因此字 ...
分类:
其他好文 时间:
2020-05-03 14:21:46
阅读次数:
517
背景 已经学习了微服务之间通信采用的通信协议,如何实现服务的注册和发现,搭建服务管理集群,以及服务与服务之间的RPC通信方式。具体的内容包括:protobuf协议,consul及docker部署consul集群,gRPC框架的使用等具体的实现方案。 以上这些具体的方案都是为了解决微服务实践过程中具体 ...
分类:
其他好文 时间:
2020-05-03 10:32:31
阅读次数:
87