
Algorithm
Sundm@lhq
岁月流时,已经忘了如何悲伤
展开
-
OPT,LRU,FIFO页面置换算法python实现
实验三 请求页式存储管理中常用页面置换算法模拟【开发语言及实现平台或实验环境】C++/C#Microsoft Visual Studio 6.0/ Microsoft Visual Studio .NET 2003【实验目的】(1)了解内存分页管理策略(2)掌握调页策略(3)掌握一般常用的调度算法(4)学会各种存储分配算法的实现方法。(5)了解页面大小和内存实际容量对命中率的影响...原创 2019-11-27 18:32:48 · 5809 阅读 · 1 评论 -
进程调度实验,python实现
一、 设计一个有N个进程其行的进程调度算法。进程调度算法:采用最高优先数的调度算法(即把处理机分配给优先数最高的进程)。每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为的指定(也可以由随机数产生)。进程的到达时间为进程的输入的时间。进程的运行时间以时间片为单位进...原创 2019-11-14 22:04:10 · 4473 阅读 · 0 评论 -
银行家算法模拟,python实现
实验二 银行家算法模拟【开发语言及实现平台或实验环境】【实验目的】(1)进一步理解利用银行家算法避免死锁的问题;(2)在了解和掌握银行家算法的基础上,编制银行家算法通用程序,将调试结果显示在计算机屏幕上,再检测和笔算的一致性。(3)理解和掌握安全序列、安全性算法【实验要求】(1)了解和理解死锁;(2)理解利用银行家算法避免死锁的原理;(3)会使用某种编程语言。【实验原理】一、...原创 2019-11-14 18:03:22 · 2681 阅读 · 4 评论 -
LeetCode 4. 寻找两个有序数组的中位数
LeetCode 4. 寻找两个有序数组的中位数给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]n...原创 2019-09-11 18:18:27 · 302 阅读 · 0 评论 -
LeetCode 53. 最大子序和
LeetCode 53. 最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。来源:力扣(LeetCode)链...原创 2019-09-11 18:29:58 · 156 阅读 · 0 评论 -
LeetCode 15.三数之和
LeetCode 15.三数之和否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣(LeetCode)链接:https:/...原创 2019-09-11 18:43:20 · 185 阅读 · 0 评论 -
LeetCode 16 最接近的三数之和
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).来源:力扣(LeetCode)链接:http...原创 2019-09-24 20:03:08 · 130 阅读 · 0 评论 -
LeetCode 33. 搜索旋转排序数组
LeetCode 33. 搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums =...原创 2019-09-25 16:42:19 · 195 阅读 · 0 评论 -
LeetCode 59. 螺旋矩阵 II
LeetCode 59. 螺旋矩阵 II给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/spiral-matrix-ii...原创 2019-09-25 17:03:39 · 147 阅读 · 0 评论 -
LeetCode 26. 删除排序数组中的重复项
26. 删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后...原创 2019-09-03 17:58:23 · 137 阅读 · 0 评论 -
LeetCode 146. LRU缓存机制
LeetCode 146. LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时...原创 2019-09-03 16:29:27 · 284 阅读 · 0 评论 -
python插入排序
python插入排序我使用python语言完成了插入排序这个算法,首先建立一个空的列表,导入random模块生成随机数并添加到列表中去,下面就是具体的插入排序的过程,从下表为1的元素开始,与前面的有序数进行比较,找到合适的地方并进行插入import randomtemp=[]for i in range(10): temp.append(random.randint(0,100)...原创 2019-03-06 17:26:31 · 216 阅读 · 0 评论 -
python实现归并排序
python实现归并排序今天用python实现了排序算法之一的归并排序,归并排序主要采用了分而治之的思想。下面是我的全部代码,采用python3实现,在网上看了很多归并排序的代码,代码不同,思想相同,我的代码也会有一些不方便的地方,大家一起学习交流import randomimport mathlist_number=10 #列表元素的个数max_number=99999...原创 2019-03-06 19:39:49 · 160 阅读 · 0 评论 -
回文数的判定
方法:反转一半数字思路映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允许的字符串。第二个想法是将数字本身反转,然后将反转后的数字与原始数字进行比较,如果它们是相同的,那么这个数字就是回文。 但是,如果反转后的数字大于 \text{int.MAX}int.MAX,我们将遇到整数溢出问题。按照第二个想法,为了避免数字反转可能导...原创 2019-03-23 17:52:27 · 228 阅读 · 0 评论 -
十进制整数的反码
def bitwiseComplement(N: int) -> int: n=N k = 0 while N >= 1: N = N / 2; k = k + 1; temp = 1 for i in range(k): temp = temp * 2 temp = temp - 1 -...原创 2019-03-23 18:57:21 · 1392 阅读 · 0 评论 -
python 选择一个数组中第K小的数字
python 选择一个数组中第K小的数字解法一:对数组进行排序,选择第K个位置的数字冒泡排序list = [6,24,12,64,48,36,72]def Bubble_sort(list): length=len(list) for i in range(length): for j in range(i+1,length): i...原创 2019-08-16 09:45:25 · 2671 阅读 · 0 评论 -
python 最大子序列之和
python 最大子序列之和解法一:暴力求解1 O(N3)O(N^3)O(N3)list = [-2,11,-4,13,-5,-2]def MaxSubsepuenceSum(list): MaxSum = 0 length = len(list) for i in range(length): for j in range(i,length): ...原创 2019-08-16 12:11:19 · 976 阅读 · 0 评论 -
Leetcode 292. Nim 游戏
Leetcode 292. Nim 游戏你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为...原创 2019-09-02 17:03:47 · 135 阅读 · 0 评论 -
LeetCode 11. 盛最多水的容器
LeetCode 11. 盛最多水的容器给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]...原创 2019-09-03 15:39:20 · 244 阅读 · 0 评论