上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页
摘要: 题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。方法一基于随机快排思想,基于数组的第k个数字来调整,则使得比第k个数字小的所有数字都在数组的左边,比k大的数字都在数组的右边。这... 阅读全文
posted @ 2019-03-25 22:16 如是说 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 在做一道算法时需要使用大顶堆,所以查了一下记录。 使用PriorityQueue实现大顶堆PriorityQueue默认是一个小顶堆,然而可以通过传入自定义的Comparator函数来实现大顶堆。如下代码实现了一个初始大小为11... 阅读全文
posted @ 2019-03-25 20:35 如是说 阅读(5409) 评论(0) 推荐(0) 编辑
摘要: 题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。方法一 ---- 基于随机快排如果数组中... 阅读全文
posted @ 2019-03-25 14:16 如是说 阅读(1776) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字... 阅读全文
posted @ 2019-03-24 15:03 如是说 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。分析首先注意要求的是一个排序的双向链表,从小到大,嗯,看到这里我就想到了二叉排序树的中序遍历,因为二叉排序树的中序遍历就是从小到大节点进... 阅读全文
posted @ 2019-03-23 22:35 如是说 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)(PS:在复杂链表中的节点,除了有一... 阅读全文
posted @ 2019-03-23 22:21 如是说 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)分析由于路径是从根节点出发到叶子节点的,因此我们... 阅读全文
posted @ 2019-03-23 22:17 如是说 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: 1.调度器的概述多任务操作系统分为非抢占式多任务和抢占式多任务。与大多数现代操作系统一样,Linux采用的是抢占式多任务模式。这表示对CPU的占用时间由操作系统决定的,具体为操作系统中的调度器。调度器决定了什么时候停止一个进程以便让其他进程有机会运行,同时挑... 阅读全文
posted @ 2019-03-23 16:44 如是说 阅读(4302) 评论(0) 推荐(0) 编辑
摘要: 引言一般来说,我们将实时操作系统区分为软实时系统(soft real-time system)和硬实时系统(hard real-time system)。软实时系统不保证会调度关键实时进程,而只保证这类进程会优先于非关键进程。硬实时系统具有更严格的要求:一个... 阅读全文
posted @ 2019-03-23 15:59 如是说 阅读(1429) 评论(0) 推荐(0) 编辑
摘要: 引言之前我们所学习的操作系统进程调度策略的前提条件是单处理器系统下的CPU调度程序。如果系统中存在多个CPU,那么负载分配就成为可能,但是相应的调度问题就会更加复杂。多处理器调度方法对于多处理器,CPU调度的一种方法是让一个处理器(主处理器)处理所有调度决定... 阅读全文
posted @ 2019-03-23 14:59 如是说 阅读(1510) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页