自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode算法题23——合并K个升序链表

合并K个有序链表(困难)给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例输入: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输入:lists = []输出

2020-10-16 12:50:53 281

原创 leetcode算法题22——括号生成

括号生成(中等)数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]解题方法一:可以把所有情况都列出来,然后判断是否符合要求,并使用一个变量 balance 表示左括号的数量减去右括号的数量。如果在遍历过程中 balance 的值小于零,或者结束时 balance 的值不为零,那么该序列就是无效的,否则它是有效的。cla

2020-09-10 23:40:07 245

原创 leetcode算法题21——合并两个有序链表

合并两个有序链表(简单)将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题这个题很简单,定义两个指针分别指向两个链表,然后比较这两个值,把小的插入到新链表中,然让指针向右挪动一个next,直到两个链表中有一个链表为空,此时让新链表指向不为空的链表即可。/** * Definition for singly-

2020-09-10 11:57:52 131

原创 leetcode算法题20——有效的括号

有效的括号(简单)给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例输入: “()”输出: true输入: “()[]{}”输出: true输入: “(]”输出: false输入: “([)]”输出: false输入: “{[]}”输出: true解题这个题主要用到了栈的思想,由于栈是先进后出

2020-09-08 22:12:49 156

原创 leetcode算法题19——删除链表的倒数第N个节点

删除链表的倒数第N个节点(中等)给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?解题首先想到的肯定是把倒数的结点变成正数的,然后删除即可,也就是说需要先知道链表的长度。但这需要两趟扫描才能实现。/** * Definition for

2020-09-08 19:03:51 197

原创 leetcode算法题18——四数之和

四数之和(中等)给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[[-1, 0, 0, 1],[-2, -1, 1, 2],[-2, 0, 0, 2]]

2020-09-08 17:11:11 169

原创 leetcode算法题17——电话号码的字母组合

电话号码的字母组合(中等)给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].解题由于循环个数不确定,因此应该用DFS来做:首先建立哈希表的映射关系,然后依次取出digits中的每个数字,根据映射变成字符串,对每个字符都进行DFS递归,并把该字符加入到res当中,当res的

2020-09-08 16:46:01 179

原创 leetcode算法题16——最接近的三数之和

最接近的三数之和(中等)给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。解题这个题和15题很相似,都是用双指针的方法做,先把数组从小到大排序,然后定义左右两个指针,分别指向第一个数字左边的数字(即第二

2020-09-08 15:48:46 189

原创 leetcode算法题15——三数之和

class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> res; sort(nums.begin(), nums.end()); for(int i=0;i<nums.size();++i){ if (i > 0 &

2020-09-08 13:39:03 214

原创 leetcode算法题14——最长公共前缀

最长公共前缀(简单)编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例输入: [“flower”,“flow”,“flight”]输出: “fl”输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。解题这道题让我们求一系列字符串的共同前缀,没有什么特别的技巧,无脑查找即可,定义两个变量i和j,其中i是遍历搜索字符串中的字符,j是遍历字符串集中的每个字符串。

2020-09-07 17:04:30 229

原创 leetcode算法题13——罗马数字转整数

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

2020-09-07 16:38:04 162

原创 leetcode算法题12——整数转罗马数字

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

2020-09-07 14:35:43 150

原创 leetcode算法题11——盛最多水的容器

class Solution {public: int maxArea(vector<int>& height) { int a=0; int i,j,n=height.size(); for(i=0;i<n;i++){ for(j=i;j<n;j++){ int res=min(height[i],height[j])*(j-i); if(a<r

2020-09-07 14:15:42 212

原创 leetcode算法题9——回文数

回文数(难度:简单)判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个...

2020-03-14 15:50:48 324

原创 leetcode算法题8——字符串转换整数 (atoi)

字符串转换整数 (atoi)(难度:中等)请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分...

2020-03-14 15:06:56 345

原创 编译原理学习笔记

1.L: { A, B, …, Z, a, b, …, z }, D: { 0, 1, …, 9 }自然语言描述下列运算所描述的语言特征,为每一个语言举两个符合该语言特征的例子:LDDLD*(L和D)DL+D (+代表正闭包)1.LDD表示串长度为三,大写字母或小写字母开头,第二个和第三个元素为数字的串连接而成的语言例如A00 C99 z532.LD*表示大写字母或小写字母...

2020-03-13 16:21:20 2095

原创 软件工程学习笔记习题汇总

1.总结自己在之前进行的软件开发过程中所欠缺的软件开发策略?(四大软件开发策略)之前的软件开发过程中欠缺逐步演进和优化折中的策略,有时候也缺乏软件复用策略,有的是在之前已有的软件框架模型下进行组装使用和改进,有时只能从零开始一步一步慢慢写;软件开发过程我都是采用分而治之的策略,先将软件分为不同的模块,然后搭建起大的框架,在框架的基础上一步步实现软件不同模块的开发;逐步演进和优化折中策略之前...

2020-03-13 16:03:42 1705 1

原创 leetcode算法题7——整数反转

整数反转(难度:简单)给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。...

2020-03-13 15:34:47 322

原创 数字图像处理——Matlab实现多目标跟踪

程序运行截图如下:程序可以分为两部分:1.每一帧检测运动objects;2.实时的将检测得到的区域匹配到相同一个物体;检测部分,用的是基于高斯混合模型的背景剪除法;所谓单高斯模型,就是用多维高斯分布概率来进行模式分类其中μ用训练样本均值代替,Σ用样本方差代替,X为d维的样本向量。通过高斯概率公式就可以得出类别C属于正(负)样本的概率。而混合高斯模型(GMM)就是数据从多个高斯...

2020-03-12 22:41:35 8812 16

原创 数据结构——详解栈应用之迷宫问题

文章目录一.算法概述迷宫如下:1.初始化迷宫并输出2.用二维数组记录是否到过迷宫中的点3.定义(1,1,3)为起始点坐标4.算法核心:5.循环结束,栈中从底到顶即为一条路线6.输出所有的路线,并求出最短路线二.具体代码实现:三.实验截图:一.算法概述迷宫如下: 0 1 2 3 4 5 6 7 8 9 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 ...

2020-03-12 20:53:38 2601

原创 leetcode算法题6——Z字形变换

Z字形变换(难度:中等)将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进...

2020-03-12 17:23:50 610

原创 数据结构(三)——详解栈和队列及完整代码实现

文章目录一.栈1.1 栈的逻辑结构1.2 栈的顺序存储结构及实现1.2.1 顺序栈的实现——入栈1.2.2顺序栈的实现——出栈1.2.3 两栈共享空间1.3 栈的链接存储结构及实现1.3.1 链栈的实现——入栈1.3.2 链栈的实现——出栈1.4 顺序栈和链栈的比较二.队列2.1 队列的逻辑结构2.2 队列的顺序存储结构及实现2.2.1 循环队列2.2.2 循环队列的实现——入队2.2.3 循环队...

2020-03-12 01:56:51 3081

原创 操作系统(二)——用户接口

文章目录2.1 命令控制界面接口2.1.1联机命令的类型2.1.2 联机命令接口2.2 Linux系统的命令控制界面2.2.1 登录Shell2.2.2 命令句法2.2.3 常用的基本命令2.2.4 重定向与管道命令2.2.5 通信命令2.2.6 后台命令2.3 程序接口2.3.1 系统调用2.3.2 系统调用的类型2.3.3 系统调用的实现2.3.4 Linux系统调用2.3.5 Windows...

2020-03-11 22:22:22 8531

原创 leetcode算法题5——最长回文子串

最长回文子串(难度:中等)给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"答:回文子串就是正着读和反着读是一样的串,比如 “bob”, “level”, “noon” 等等。那么最长回文子串就是在一个字符...

2020-03-11 18:43:01 361

原创 leetcode算法题4——寻找两个有序数组的中位数

4.寻找两个有序数组的中位数(困难qaq)给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2...

2020-03-10 22:23:59 332

原创 leetcode算法题3——无重复字符的最长子串

3.无重复字符的最长子串(中等)给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因...

2020-03-10 19:53:35 269

原创 leetcode算法题2——两数相加

2.两数相加(中等)给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -&g...

2020-03-10 19:52:03 215

原创 操作系统(一)——绪论

文章目录1.1 什么是操作系统1.1.1 程序是如何运行的1.1.2 操作系统1.2 操作系统运行环境1.2.1 计算机的基本硬件元素1.2.2 与操作系统相关的几种主要寄存器1.2.3 指令的执行1.2.4 中断1.2.5 处理机状态及特权指令1.3 操作系统的形成和发展1.3.1 操作系统发展的基础1.3.2 手工操作阶段1.3.3 批处理系统1.3.4 分时系统1.3.5 实时系统1.3.6...

2020-03-10 19:07:45 3738 1

原创 leetcode算法题1——两数之和

1.买卖股票的最佳时机Ⅰ给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-...

2020-03-10 00:06:46 228

转载 软件工程学习笔记选择题总结

第一章 初认软件工程1.下面的( C)说法是正确的。A.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产B.购买大多数计算机系统所需的硬件比软件更昂贵C.大多数软件系统是不容易修改的,除非它们在设计时考虑了变D.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功2.造成大型软件开发困难的根本原因在于(D )。A.开发人员缺乏足够的开发经验B.对软件开发的资金投入...

2020-03-09 21:00:14 54713 3

原创 数据结构(二)——详解单链表与链式存储结构的增改删查的实现

一.单链表1.1单链表:线性表的链接存储结构。存储思想:用一组任意的存储单元存放线性表的元素。其中,任意的含义为:连续、不连续、零散分布例如:(a1, a2 ,a3, a4)的存储示意图如下:由图可以发现单链表的存储特点:逻辑次序和物理次序不一定相同,即每个内存可以在内存表中任意存放。元素之间的逻辑关系用指针表示。1.2单链表的结点结构单链表是由若干结点构成的,单链表的结点...

2020-03-08 21:43:03 1557

原创 数据结构(一)——实现线性表顺序存储结构的增改删查

一.线性表的定义线性表:简称表,是n(n≥0)个具有相同类型的数据元素的有限序列。}线性表的长度:线性表中数据元素的个数。空表:长度等于零的线性表,记为:L=( )。非空表记为:L=(a1, a2 , …, ai-1, ai , …, an)其中,ai(1≤i≤n)称为数据元素;下角标 i 表示该元素在线性表中的位置或序号 。二.顺序存储结构实现线性表的增改删查2.1 采用C+...

2020-03-08 19:45:06 1058 1

转载 关于在CSDN中如何插入数学公式的使用参考大全

一、公式使用参考1.如何插入公式数学公式有两种:行中公式和独立公式。行中公式放在文中与其它文字混编,独立公式单独成行。行中公式可以用如下方法表示: $ 数学公式 $独立公式可以用如下方法表示: $$ 数学公式 $$自动编号的公式可以用如下方法表示:若需要手动编号,参见 大括号和行标的使用 。\begin{equation}数学公式\label{eq:当...

2020-03-07 21:08:14 3120 1

原创 初学深度学习——详解BP神经网络与反向传播算法推导过程

一.梯度下降优化算法首先我们先来介绍一下什么是梯度,BP神经网络反向传播的过程就是对权值wijw_{ij}wij​进行更新的的过程,而更新权值则离不开梯度的计算。大学时我们学过怎样求函数 y=f(x)y=f(x)y=f(x)的极值。函数的极值点,就是它的导数f′(x)=0f '(x)=0f′(x)=0的那个点。因此我们可以通过解方程f′(x)=0f '(x)=0f′(x)=0,求得函数的极值点...

2020-03-07 20:33:05 2317 1

原创 初学编译原理——构造一个DFA,它接受字母表∑={0,1}上能被能5整除的二进制数

题目:构造一个DFA,它接受字母表∑={0,1}上能被能5整除的二进制数解析如下:**注意,我们要明白DFA是一个一个数字扫描的,比如二进制数字101,其先扫描的字符是1,接下来是0,最后是1。要求能被5整除的二进制数,例如0、101、1010等,一个数除以5,其余数可能为0、1、2、3、4共五个状态,0除以5还是0,因此0既为初态,也为终态。首先是初态0状态,当扫描的第一个字符为1时,...

2020-03-02 17:28:50 15071 1

原创 数据结构——详解最短路径之Dijkstra(迪杰斯特拉)算法和Floyd(弗洛伊德)算法及代码实现

1.什么是最短路径?在非网图中,最短路径是指两顶点之间经历的边数最少的路径。比如这个图,AE就是最短路径在网图中,最短路径是指两顶点之间经历的边上权值之和最短的路径。而在这个图中,ADCE是最短路径2.Dijkstra算法迪杰斯特拉(Dijkstra)提出了一个按路径长度递增的次序产生最短路径的算法——Dijkstra算法。2.1基本思想:设置一个集合S存放已经找到最短路径的顶...

2019-12-30 13:47:22 3366

原创 数据结构——详解图的深度优先遍历和广度优先遍历及代码实现

图的深度优先遍历和广度优先遍历:从本质上来说都是用来访问图中的所有结点的,只是两种访问的方式不同,深度优先遍历用的是堆栈,先进的后出,而广度优先遍历用的是队列的思想。1.图的深度优先遍历1.1基本思想:⑴ 访问顶点v;⑵ 从v的未被访问的邻接点中选取一个顶点w,从w出发进行深度优先遍历;⑶ 重复上述两步,直至图中所有和v有路径相通的顶点都被访问到。例如我们需要用深度优先遍历下面这个图...

2019-12-30 13:02:07 14198 1

原创 数据结构课程设计——实现链串的基本功能

1. 设计内容与要求*设置字符串、返回字符串长度和显示内容等功能。能对字符串进行插入、替换、删除、查找和连接等操作。程序要求:串采用链式存储结构,串结点结构如下:#define N 4typedef struct Node{char data[N];struct Node next;} LianString;实现(1)中所列的功能如果链串中的最后一个结点中的字符不足N个,可...

2019-12-28 15:04:21 1545

原创 数据结构——详解哈夫曼树及哈夫曼编码与其具体代码实现

哈夫曼树首先我们需要明白什么是哈夫曼树:概念上说,哈夫曼树是给定一组具有确定权值的叶子结点,带权路径长度最小的二叉树。叶子结点的权值:对叶子结点赋予的一个有意义的数值量。二叉树的带权路径长度:设二叉树具有n个带权值的叶子结点,从根结点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和。 记为:看起来好像有点抽象,那么我来解释一下:比如我们给定4个叶子结点,其权值分别为{2,3,4,...

2019-12-27 23:00:26 3975 1

原创 面向对象程序设计课程设计——MFC实现同学通讯录管理系统

先上效果图;1.设计目的同学通讯录管理程序是为了更好地管理学生信息而开发的数据管理软件。如今,同学与同学、老师与同学联系都是通过电话联系。但是,通常这些数据与其他人的信息混合在一起,同学信息并不方便被整理。所以,同学通讯录管理程序为用户提供充足的信息和快捷的查询手段,实现学生基本信息的录入,删除,查询,修改,存到文件等几方面的功能,这样能对同学之间的信息进行更好的管理,使老师能更好地管理学...

2019-12-27 15:58:50 6899

GLUT工具包.zip

配置opengl所需的工具包

2021-04-28

空空如也

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

TA关注的人

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