题意:给出n堆木块,每一堆从大到小堆砌,是一个非绝对递减序列 每一堆的高度就所有木块大小的总和,让我们将这n堆木块中取出一些,使n堆木块高度一样高 求出最高的高度(只能取出,不能增加) 思路:根据题目数据,最大的高度是10000,我们就像操作01背包那样,从大到小枚举一遍, 然后求出这n堆木块,都能 ...
分类:
其他好文 时间:
2020-04-06 20:21:22
阅读次数:
64
1对象的分配 CLR要求所有的对象都是从托管堆分配。 CLR划出一个地址空间区域作为托管堆。 CLR还要维护一个指针,NextObjPtr。 用来指向下一个对象在堆中分配的位置。 一个区域被非垃圾对象填满,CLR会分配更多的区域。一直重复,直到整个进程的地址空间被填满。所以你的应用程序受进程的虚拟地 ...
分类:
Web程序 时间:
2020-04-06 20:13:35
阅读次数:
88
最近在做.NET开发的时候,同一个对象多次赋值,结果最终的List的内容完全一样,后来明白是值类型与引用类型未能理解透出 1、值类型与引用类型存储在不同的位置上,值类型存储在堆栈上,引用类型存储在托管堆上,这意味着值类型的每一次赋值都会创建该值的一个拷贝,而引用类型的每一次赋值都只是重新创建了一个引 ...
分类:
其他好文 时间:
2020-04-06 15:29:41
阅读次数:
49
基本介绍 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等 栈 是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈低不允许操作。 栈的特点 先进后出,从栈顶放入元素的操作叫入栈,去出元素 ...
分类:
其他好文 时间:
2020-04-06 15:29:09
阅读次数:
72
函数是一堆组织好的、可重复利用的、用来实现某一功能的代码。
python中的input()、print()、type()、bool()、len()等都是函数。且是python的内置函数。
我们也可以封装自己的函数。 ...
分类:
编程语言 时间:
2020-04-06 15:17:10
阅读次数:
93
1.在Tomcat服务中一个用户请求都是一个线程 所以使用线程池提高性能 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后创建线程后自动这些任务,线程池线程都是后台线程,每个线程都是用默认的堆栈大小。 什么情况下使用线程池 单个任务处理时间短 将需处理的任务数量大 2.Tomcat优化 ...
分类:
编程语言 时间:
2020-04-06 13:53:19
阅读次数:
72
在C#中,struct和class都是用户定义的数据类型,struct和class有许多不同之处,但主要的区别是: Class是引用类型,它保存在堆上并且能够被垃圾回收;然而stuct是值类型,它保存在栈上或者内嵌在它的包含类型之中。因此,从总体上来说struct比class节省内存。 下图是Cla ...
第一种方案,使用堆: 1 from heapq import heappush, heappop 2 class Solution: 3 def longestDiverseString(self, a: int, b: int, c: int) -> str: 4 max_heap = [] 5 ...
分类:
其他好文 时间:
2020-04-06 09:41:59
阅读次数:
84
什么是优先队列? 我们在常见的线性结构中,已经知道什么是普通队列了,普通队列就是一种“先进先出,后进后出”的数据结构,即普通队列的出队顺序和入队顺序是一样的,但我们的优先队列,它的出队顺序和入队顺序无关,它的出队顺序是和优先级相关的,当然这个优先级我们可以自己定义。 为什么使用优先队列? 举一个生活 ...
分类:
其他好文 时间:
2020-04-06 09:38:48
阅读次数:
63
1、GC发生在JVM哪部分? GC是发生在堆内 2、GC是什么?有几种GC? GC是分代收集算法,在堆内不同的区域有不同的策略 有两种GC:Minor GC、Full GC 次数上频繁收集Young区 Minor GC 次数上较少收集Old区 Full GC 基本不动perm区(永久区) 3、它们的 ...
分类:
其他好文 时间:
2020-04-06 00:20:27
阅读次数:
83