D D HDU 3282 思路 题意:给我一个奇数长度为n的序列,从左到右依次输出 1~当前技术位置的 这个子区间内的中位数。 思路 1 .法一: 维护一个最小根堆、最大根堆(注意less 在priority_queue 中的数字排列的顺序是按从头部top 按数字大小逐渐递减,而gerater 在p ...
分类:
其他好文 时间:
2020-04-21 12:54:09
阅读次数:
59
给定两个大小为 m 和 n 的有序数组?nums1 和?nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为?O(log(m + n))。 你可以假设?nums1?和?nums2?不会同时为空。 示例 1: 示例 2: 来源:力扣(LeetCode) 链接:https://lee ...
分类:
编程语言 时间:
2020-04-20 01:00:33
阅读次数:
65
给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 示例 1: 输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数) 6 是 1 位数字 位数为奇数) 7896 ...
分类:
其他好文 时间:
2020-04-19 22:36:32
阅读次数:
91
一:解题思路 方法一:每次添加一个数字,都使它成为一个递增有序的序列。时间复杂度分别为:addNum:O(n),findMedian:O(1) 方法二:采用一个最小堆和一个最大堆。时间复杂度分别为:addNum:O(log(n)),findMedian:O(1) 二:完整代码示例 (C++版和Jav ...
分类:
其他好文 时间:
2020-04-19 19:36:47
阅读次数:
67
1.重建二叉树 问题描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 2.二叉树的下一个结点 给定一个二 ...
分类:
其他好文 时间:
2020-04-16 15:10:56
阅读次数:
60
"【简单】1 两数之和 Two Sum" "【中等】2 两数相加 Add Two Num" "【中等】3 无重复字符的最长子串 Longest Substring Without Repeating Characters" "【困难】4 寻找两个有序数组的中位数 Median of Two Sort ...
分类:
其他好文 时间:
2020-04-15 15:15:11
阅读次数:
70
假设货仓左边所有点到仓库的距离是p, 右边是q, 总距离p+q, 由题可知,要让总距离最小,当仓库向左移动 p – x, 而 但是q会增加n?x,所以说当为仓库中位数的时候,p+qp+q最小。还是同样的一句话,画图理解很重要。 1 #include <iostream> 2 #include <al ...
分类:
其他好文 时间:
2020-04-14 10:34:10
阅读次数:
74
Salary Changing 题意: 有n个员工,每个员工的薪资区间为[li , ri] 问员工薪资的中位数最大是多少。 思路:二分答案,check()检查薪资 >= mid 的人数 >= n/2 + 1 则返回 true , 不然返回 false 1 #include<cstdio> 2 #in ...
分类:
其他好文 时间:
2020-04-13 22:24:51
阅读次数:
51
题意: 有$n$个员工,$s$元钱,现在要给每个员工发工资。每个员工的工资的范围$(l_i,r_i)$,求所有员工的工资中位数的最大值。 思路: 二分答案,$check$的时候判断工资可以大于等于$mid$的员工个数,用最小代价购买之后判断总价钱会不会超出范围。 代码: 1 //#include<b ...
分类:
其他好文 时间:
2020-04-13 19:44:33
阅读次数:
61
题目 "点这里" 看题目。 分析 看到中位数,当然会想到二分答案。 考虑检查答案。自然,我们需要找出中位数小于二分值$k$的区间的个数。考虑构造一个$b$: $$b_i=( 1)^{[a_i\ge k]}$$ 可以发现,这个$b$满足,如果区间$[l,r]$的中位数小于$k$,则$\sum_{i=l ...
分类:
其他好文 时间:
2020-04-12 18:15:00
阅读次数:
79