一、选择排序介绍 1、基本介绍 选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。 2、选择排序思想 选择排序(select sorting)也是一种简单的排序方法。它的基本思想是: 第一次从arr[0]~arr[n-1]中选取最小值,与ar ...
                            
                            
                                分类:
编程语言   时间:
2020-07-06 20:22:09   
                                阅读次数:
72
                             
                         
                    
                        
                            
                            
                                    题目: 给定两个正整数n和k。 整数n的因数定义为整数i,其中n%i == 0。 考虑按升序排列的所有n个因子的列表,返回此列表中的第k个因子;如果n小于k个因子,则返回-1。 Example 1: Input: n = 12, k = 3 Output: 3 Explanation: Factor ...
                            
                            
                                分类:
其他好文   时间:
2020-07-06 10:53:09   
                                阅读次数:
52
                             
                         
                    
                        
                            
                            
                                    原题: 给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。 对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。 如果数组中不存在该元素,则返回“-1 -1”。 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数(均在1~10000范围内),表示 ...
                            
                            
                                分类:
编程语言   时间:
2020-07-05 21:19:06   
                                阅读次数:
71
                             
                         
                    
                        
                            
                            
                                    当然堆排序还有一种更好的办法。从小到大排序的时候不建立”最小堆“而是建立”最大堆“! 最大堆建立好之后,最大的元素是h[1],因为我们需要从小到大排序,希望最大的数放在最后,那么我们将h[1]和h[n]交换,此时h[n]就是数组中最大的元素。最大的元素归位后,将堆的大小减1,n--,并将交换后的新h ...
                            
                            
                                分类:
编程语言   时间:
2020-07-05 19:23:54   
                                阅读次数:
61
                             
                         
                    
                        
                            
                            
                                疑问? Oracle普通的B树索引是升序还是降序? 一、测试创建对象 SQL> create table a as select * from dba_objects; Table created. SQL> create index a_id on a(object_id); Index crea ...
                            
                            
                                分类:
数据库   时间:
2020-07-05 17:08:37   
                                阅读次数:
73
                             
                         
                    
                        
                            
                            
                                    数组 实现一个支持动态扩容的数组 实现一个大小固定的有序数组,支持动态增删改操作 实现两个有序数组合并为一个有序数组 链表 实现单链表、循环链表、双向链表,支持增删操作 实现单链表反转 实现两个有序的链表合并为一个有序链表 实现求链表的中间结点 栈 用数组实现一个顺序栈 用链表实现一个链式栈 编程模 ...
                            
                            
                                分类:
编程语言   时间:
2020-07-05 13:12:20   
                                阅读次数:
89
                             
                         
                    
                        
                            
                            
                                    二叉堆是一种特殊的二叉树。 它是一颗完全二叉树,表示树的每一层都有左侧和右侧子节点(除了最后一层的叶节点),并且最后一层的叶节点尽可能都是左侧子节点,这叫结构特性。 二叉堆不是最小堆就是最大堆。最小堆允许快速导出树的最小值,最大堆允许快速导出输的最大值。所有的节点都大于等于(最大堆)或小于等于(最小 ...
                            
                            
                                分类:
编程语言   时间:
2020-07-05 00:28:25   
                                阅读次数:
65
                             
                         
                    
                        
                            
                            
                                    这道题是要我们在一个二维数组里搜索某个元素target,找到了返回true,没找到返回false。 这个二维数组性质是,每一行都是升序的,且每一行的最后一个元素小于下一行的第一个元素。 都说升序和查找了,显然应该想到二分。 这题我最开始先按行二分,确定target(如果在数组里)所在的行,再对这一行 ...
                            
                            
                                分类:
其他好文   时间:
2020-07-04 22:55:42   
                                阅读次数:
68
                             
                         
                    
                        
                            
                            
                                给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。 示例: matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8, 返回 13。 解:这个 ...
                            
                            
                                分类:
其他好文   时间:
2020-07-04 20:33:33   
                                阅读次数:
62
                             
                         
                    
                        
                            
                            
                                1、给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 import collections def frequencySort(s): dic = dict(collections.Counter(s)) res = sorted(dic.items(),key = lambda item ...
                            
                            
                                分类:
编程语言   时间:
2020-07-04 19:04:04   
                                阅读次数:
65