堆(heap)是一个巨大的对象池。在这个对象池中管理着数量巨大的对象实例。而池中对象的引用层次,有的是很深的。一个被频繁调用的接口,每秒生成对象的速度,也是非常可观的。对象之间的关系,形成了一张巨大的网。虽然 Java 一直在营造一种无限内存的氛围,但对象不能只增不减,所以需要垃圾回收。 那 JVM ...
分类:
其他好文 时间:
2020-07-23 23:27:13
阅读次数:
135
示例 7 : 分别在最开始的位置插入数据和获取数据(获取后删除) 方法 unshift shift ,分别在最开始的位置插入数据和获取数据(获取后删除) <script> function p(s){ document.write(s); document.write("<br>"); } var ...
分类:
编程语言 时间:
2020-07-22 11:38:25
阅读次数:
75
一、分页查询 因为PagingAndSortingRepository,我们总是可以传入Sort和Pageable对查询结果进行排序和分页(支持命名查询、Example查询和Query查询)。 // 当查询方法中有多个参数的时候,Pageable/Sort建议做为最后一个参数传入 @Query("s ...
分类:
编程语言 时间:
2020-07-22 11:10:55
阅读次数:
237
1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n ...
分类:
其他好文 时间:
2020-07-22 01:51:34
阅读次数:
73
package main import ( "fmt" "strings" ) func main() { /* 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" */ var s = "the sky is blue" fmt.Println(re ...
分类:
其他好文 时间:
2020-07-22 01:40:25
阅读次数:
66
1.1概述 1959年Shell发明,第一个突破O(n^2)的排序算法,是简单插入排序的改进版。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。 1.2描述 选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1; 按增量序列个数k,对序列进行k 趟排序; ...
分类:
编程语言 时间:
2020-07-21 23:14:48
阅读次数:
77
三种时间复杂度为O(n)的排序算法:桶排序、计数排序、基数排序 这三种排序算法都不涉及元素之间的比较操作,也叫做线性排序(Linear sort) 桶排序 核心思想 将要排序的数据分散到有序的桶中,分别对桶中的数据进行排序。排序好了之后,按照桶的顺序依次取出,就得到排好序的数据了。 时间复杂度 时间 ...
分类:
编程语言 时间:
2020-07-21 23:13:45
阅读次数:
92
二叉搜索树 性质:一个节点x左子树所有点的关键字都比x的关键字小,右子树所有点的关键字都比x的关键字大 treap “树堆” “Tree+Heap” 性质:每个点随机分配一个权值,使treap同时满足堆性质和二叉搜索树性质 复杂度:期望O(logn) 设每个节点的关键字是key,随机权值是rand ...
分类:
其他好文 时间:
2020-07-21 23:10:24
阅读次数:
67
######此题为LeetCode分类“剑指Offer”中第一题,其中解题思路以及方法众多,我也是参考借鉴了官方答案以及题解中各位大神的代码,本文中仅记录了两种个人认为常见且易于理解的方式 #####题目: 找出数组中重复的数字: 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的 ...
分类:
编程语言 时间:
2020-07-21 10:02:58
阅读次数:
76