题意 两种操作,第一种可以向序列里加数,第二种查询长度为k时的序列的第i大元素。 思路 优先队列维护最大堆和最小堆分别存放前i-1大的元素前k-i小的元素。 将当前序列的元素压入最小堆,如果最小堆的最小数大于最大堆的最大数则进行交换,保证最大堆中的所有数小于最小堆。 因为i值每进行一次自增1,所以每 ...
分类:
其他好文 时间:
2020-05-28 09:14:27
阅读次数:
86
Example15_1.java JFrame常用方法 import javax.swing.*; import static javax.swing.JFrame.*; public class Example15_1 { public static void main(String args[] ...
分类:
编程语言 时间:
2020-05-24 16:58:27
阅读次数:
59
1、学习编程和学数学不一样,要多练习,光看就会不能学懂 学数学一周学习定理,还学不会,等学会了所有的例题都会解了,但是学习编程,以看就会,结果看完了练习时发现连环境变量都不会 2、初级工程师改bug,中级写主要80%代码,高级工程师处理紧急情况,重大BUG,性能调优,每一级别都要锻炼一两年怕 3、要 ...
分类:
编程语言 时间:
2020-05-24 13:58:47
阅读次数:
77
冒泡排序(Bubble Sort) 实现 每一轮,从数组头部开始,每两个元素比较大小并进行交换,直到这一轮当中最大或最小的元素被放置在数组的尾部,然后不断地重复这个过程,直到所有元素都排好位置。其中,核心操作就是元素相互比较。 例题 给定数组 [2, 1, 7, 9, 5, 8],要求按照从左到右、 ...
分类:
编程语言 时间:
2020-05-24 11:49:17
阅读次数:
56
题目描述 给定两个大小为 m 和 n 的正序(从小到大)数组?nums1 和?nums2。 请你找出这两个正序数组的中位数,并且要求 算法的时间复杂度为?O(log(m + n))。 你可以假设?nums1?和?nums2?不会同时为空。 示例 1: 示例 2: 题解代码 提交 更多题解 "详细通俗 ...
分类:
编程语言 时间:
2020-05-24 11:47:22
阅读次数:
119
一、随机化避免碰撞 1.对数字进行随机化后可以避免数字发生碰撞。 例题:P2087 GTY的人类基因组计划2 这道题的唯一难点是判断一个房间里的一群人是否出现过。 可以考虑对于每一个人赋予他一个rand值,然后用rand值的和判断是否出现过。 比如有编号1,2,3的三个人,假设他们的rand值为11 ...
分类:
其他好文 时间:
2020-05-24 09:47:49
阅读次数:
59
目录 定义 动态规划的步骤 例题分析 算法对比 总结 一、定义 1.1 定义 把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划 --百度定义 动态规划算法(Dynamic Programming-DP)是通过拆分问题,定义问题状态和状... ...
分类:
编程语言 时间:
2020-05-23 09:37:49
阅读次数:
65
$Floyd$算法 " _例题(一本通P1342)_ " $O(n^3)$ 设状态$f[k][i][j]$:从i到j通过前k个点中的若干个的最短路径和 对于第k个中转点 : 走:$f[k 1][i][k]+f[k 1][k][j]$ 不走:$f[k 1][i][j]$ 显然,可以压缩到二维 未完待续 ...
分类:
编程语言 时间:
2020-05-21 09:45:40
阅读次数:
52
Python 练习实例78 题目:找到年龄最大的人,并家电维修输出。请找出程序中有什么问题。 程序分析:无。 程序源代码: 以上实例输出结果为: ...
分类:
编程语言 时间:
2020-05-20 18:56:51
阅读次数:
62
Python 练习实例77 题目:循环输家电维修出列表 程序分析:无。 程序源代码: 以上实例输出结果为: ...
分类:
编程语言 时间:
2020-05-20 18:30:42
阅读次数:
55