自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (6)
  • 收藏
  • 关注

原创 spring学习笔记

spring学习笔记基本介绍spring介绍:spring: 出现是在2002左右,解决企业开发的难度。减轻对项目模块之间的管理,类和类之间的管理, 帮助开发人员创建对象,管理对象之间的关系。spring核心技术 ioc , aop 。能实现模块之间,类之间的解耦合。spring全家桶:spring , springmvc ,spring boot , spring cloudspring: 出现是在2002左右,解决企业开发的难度。减轻对项目模块之间的管理,类和类之间的管理, 帮助开发人员

2021-03-23 18:55:46 235 2

原创 java动态代理

基本介绍动态代理介绍:基于反射1.什么是代理?举个例子:代理,在我们日常生活之中就有体现,代购,中介,换ip,商家等等.比如有一家美国的大学,可以对全世界招生.留学中介(代理 )留学中介(代理):帮助这家美国的学校招生,中介是学校的代理中介是代替学校完成招生功能代理特点中介和代理他们要做的事情是一致的:招生中介是学校代理,学校是目标家长-------->中介(学校介绍,办理入学手续)---------->美国学校中介是代理,收取费用2.为什么要找中介(代理)为什么要

2021-03-19 21:01:15 93

转载 LeetCode最小覆盖子串

LeetCode最小覆盖子串题目给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”示例 2:输入:s = “a”, t = “a”输出:“a”来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble

2021-03-06 18:18:30 102

原创 快速幂

矩阵快速幂原理前言于LeetCode中碰到一道斐波那契数列的题目,学一波矩阵快速幂的方法https://leetcode-cn.com/problems/climbing-stairs/原理快速幂算高次幂时可以用平方的方式减少运算次数。例如:普通计算方法:710=7∗7...∗77^{10}=7*7...*7710=7∗7...∗7运算10次,时间复杂度为O(N)平方的方式:710=72(7474)7^{10}=7^2(7^47^4)710=72(7474)运算约为4次,时间

2021-03-03 21:44:50 85 1

原创 牛顿迭代法求平方根

牛顿迭代法求平方根于LeetCode上碰到一道求平方根的题目,发现除二分法外还有一种更快一点的牛顿迭代法。算法思想利用牛顿迭代法求根的思路求解。即求f(x)=x^2−a中f(x)=0的根,通过不断求切线方程逼近0点。牛顿迭代法参考https://blog.csdn.net/u014485485/article/details/77599953实现代码class Solution {​ public int mySqrt(int x) {​ if (x == 0) {

2021-03-02 19:58:58 103

原创 LeetCode合并区间

LeetCode合并区间题目以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例 1:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入:intervals

2021-03-01 09:53:33 174 1

原创 LeetCode缺失的第一个正数

LeetCode缺失的第一个正数题目给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。进阶:你可以实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案吗?示例 1:输入:nums = [1,2,0]输出:3示例 2:输入:nums = [3,4,-1,1]输出:2示例 3:输入:nums = [7,8,9,11,12]输出:1算法思想:通过标记数组的方法实现。n为数组长度。3次遍历第一次:修改所有负数为n+1(因为n+1是可能出现的最大整数

2021-02-20 19:07:56 64

原创 LeetCode两数相除

LeetCode两数相除题目给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例 1:输入: dividend = 10, divisor = 3输出: 3解释: 10/3 = truncate(3.33333…

2021-02-11 18:40:45 101

原创 LeetCode实现 strStr()

LeetCode删除排序数组中的重复项题目实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1实现思想逐个比较代码class Solut

2021-02-10 17:10:45 76

原创 LeetCode删除排序数组中的重复项

LeetCode删除排序数组中的重复项题目给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4

2021-02-09 10:29:41 49

原创 LeetCode合并K个升序链表

LeetCode合并K个升序链表题目给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例 2:输入:

2021-02-08 19:18:22 119 1

原创 LeetCode括号生成

LeetCode有效的括号题目数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]实现思想思路一 排列组合:通过观察发现,从左往右边数,左括号的个数一直大于等于右括号的个数,由此可列出循环进行排列组合。实现代码:class Solution { public Lis

2021-02-07 21:14:08 579

原创 LeetCode有效的括号

LeetCode有效的括号题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。实现思想判断括号的性质和栈的性质很像,当出现左括号时入栈,右括号时出栈进行匹配。实现代码class Solution {​ private static final Map<Character,Character> map = new HashMap<C

2021-02-06 18:25:42 80 3

原创 LeetCode删除链表的倒数第 N 个结点

LeetCode删除链表的倒数第 N 个结点题目给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]。实现思想1:简单粗暴,直接求长度,再数末位元素。2:用两个指针同时遍历,中间相隔n位(倒数第n),快指针先到null时,慢指针就是要删除的。相当于空间换时间。实现代码第一种/** \* Definition for singly-linke

2021-02-05 18:49:03 58 1

原创 LeetCode三数之和

LeetCode三数之和题目给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]实现思想:暴力:直接遍历所有组合,选出其中的符合要求的组合,再利用哈希进行去重处理。时间复杂度较大为O(

2021-02-03 19:18:02 110

原创 LeetCode最长公共前缀

LeetCode最长公共前缀题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”实现思想设定初始公共前缀为空串,采用逐个字符比较,当出现不同时跳出循环。实现代码class Solution {​ public String longestCommonPrefix(String[] strs) {​ if(strs.length

2021-02-02 13:31:02 43

原创 LeetCode罗马数字转整数

LeetCode罗马数字转整数题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为

2021-02-01 18:05:46 55

转载 LeetCode字符串转换整数 (atoi)

字符串转换整数 (atoi)题目请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查第一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这

2021-01-31 19:40:32 127

原创 LeetCode之盛最多水的容器

LeetCode之盛最多水的容器题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为

2021-01-30 10:55:26 41

原创 正则表达式匹配

正则表达式匹配题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。示例 :输入:s = “aab” p = “c*a*b”输出:true解释:因为 ‘*’ 表示零个或多个,这里 ‘c’ 为 0 个, ‘a’ 被重复一次。因此可以匹配字符串 “aab”。动态规划通过二维数组的方式进行记录字符匹配,如:dp[i][j]

2021-01-29 18:40:04 597 1

转载 求最长回文字串(补充)

求最长回文字串(补充)中心扩散法暴力法采用双指针两边夹,验证是否是回文子串。除了枚举字符串的左右边界以外,比较容易想到的是枚举可能出现的回文子串的“中心位置”,从“中心位置”尝试尽可能扩散出去,得到一个回文串。因此中心扩散法的思路是:遍历每一个索引,以这个索引为中心,利用“回文串”中心对称的特点,往两边扩散,看最多能扩散多远。枚举“中心位置”时间复杂度为 O(N)O(N)O(N),从“中心位置”扩散得到“回文子串”的时间复杂度为 O(N)O(N)O(N),因此时间复杂度可以降到 O(N2)O(N^

2021-01-28 13:44:16 178

原创 求最长回文字串

求最长回文字串暴力解法基本思想遍历每一个字符串,每一个字符串都判断是否为回文字代码public class Solution { public String longestPalindrome(String s) { int len = s.length();​ if (len < 2) {​ return s;​ }​ int maxLen = 1;​ int begin =

2021-01-27 19:04:30 61

原创 可变式分区管理

可变式分区管理介绍:设计一个可变式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行,分区分配中所用的算法采用:首次适应算法、循环首次适应算法两种算法来实现主存的分配和回收,每次分配和回收后显示出空闲内存分区链的情况。原理使用链指针把所有的空闲分区链成一条链,为了实现对空闲分区的分配和链接,在每个分区的起始部分设置状态位、分区的大小和链接各个分区的前向指针,由状态位指示该分区是否分配出去了;同时,在分区尾部还设置有一后向指针,用来链接后

2021-01-26 17:21:43 2905

转载 寻找两个正序数组的中位数

题目给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3)

2021-01-25 13:48:54 882

原创 无重复字符的最长子串

滑动窗口求无重复最长子串java实现,以求无重复最长子串的题目为例题目例如输入: s = “abcabcd”因为无重复字符的最长子串是 “abcd”,所以其长度为 4。滑动窗口理解为一个可以移动的窗口,窗口中的值都是符合要求的(以该题为例,即窗口中字符不重复)代码实现class Solution {​ public int lengthOfLongestSubstring(String s) {​ if (s.length()==0) return 0;​

2021-01-24 17:07:42 55

原创 单道批处理(模拟作业调度的三种算法,java实现)

单道批处理模拟作业调度:模拟作业调度的实现,分别实现先来先服务(FCFS)、最短作业优先(SJF)、响应比高者优先(HRN)实现思想:1) 先来先服务算法:是按照作业进入输入井的先后次序来挑选作业,先进入输入井的作业优先被挑选,当系统中现有的尚未分配的资源不能满足先进入输入井的作业时,那么顺序挑选后面的作业。2) 最短作业优先算法:在作业到达的情况下,总是按作业要求运行的时间来选择作业,每次挑选要求运行时间短且资源要求能满足的作业先进入主存执行。3) 当作业执行结束进入完成状态时,做好释

2021-01-23 17:11:20 3319

原创 多级队列优先

多级反馈队列优先java实现,带有简易图形界面基本思想:当一个新进程进入内存后,首先将它放入第一队列的末尾,按FCFS原则排队等待调度。当轮到该进程执行时,如能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚未完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行,以此类推。流程图:函数调用关系图:关键数据结构:队列class Queue{ //队列优先级 private int priority; private Link

2021-01-23 16:39:33 274

原创 可变时间片轮转法(简易实现)

可变时间片轮转法c语言的简易实现基本思想:所有就绪进程按 FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用CPU的时间片相同。如果运行进程用完它的时间片后还为完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直至所有的进程运行完毕。流程图:实现代码:#include "stdio.h"\#include <stdlib.h>\#include <conio.h>\#define getpch(type) (type*)malloc

2021-01-23 16:27:41 756

广工信安选修实验.zip

完整实验文档,md格式

2021-06-28

广工信安选修资源.zip

广工信安选修资源下载

2021-06-28

2020数学建模B题.zip

2020数学建模b题题目

2021-06-28

单道批处理简易实现(包含3种算法)

java实现的简易单道批处理,包括先来先服务(FCFS)、最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。

2021-01-23

多级优先队列.zip

java实现的多级反馈队列,带图形界面

2021-01-23

广工操作系统课程设计(银行家算法)

广工操作系统课程设计,含可执行文件,完整源代码(仅供参考,请勿抄袭)

2021-01-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除