自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 深度学习(花书)——笔记

第一章 前言1、表示学习:使用机器学习来发掘表示本身,而不仅仅是把表示映射到输出。学习到的表示往往比手动涉及的表示表现更好表示学习算法的典型例子是自编码器,自编码器由一个编码器 (encoder) 函数和一个解码器 (decoder) 函数组合而成。2、当设计特征或设计用于学习特征的算法时,我们的目标通常是分离出能解释观察数据的变差因素3、深度学习 (deep learning) 通过其他较简单的表示来表达复杂表示,解决了表示学习中的核心问题。第二章 线性代数1、确定 Ax = b 是否有解

2021-01-12 21:30:53 994

转载 张量矩阵化

2020-12-22 15:15:29 843

原创 统计学习方法——李航 笔记

第一章 概论统计学习的目标在于:从假设空间中选取最优模型统计学方法三要素:方法=模型+策略+算法训练集用来训练模型,验证集用来选择模型,测试集用于对学习方法的评估。1、输入变量和输出变量均为连续变量的预测问题称为回归问题,输出变量均为有限个离散变量的预测问题称为分类问题,输入变量和输出变量均为变量序列的预测问题称为标注问题2、监督学习:3、无监督学习:4、模型:所要学习的条件概率分布或决策函数。模型的假设空间:包括所有可能的条件概率分布或决策函数。5、两个基本策略:经验风险最小化和结构

2020-12-02 15:56:57 3115

转载 噪声

转载 https://blog.csdn.net/yeler082/article/details/78168788一、什么是图像噪声?噪声在图像上常表现为一引起较强视觉效果的孤立像素点或像素块。一般,噪声信号与要研究的对象不相关,它以无用的信息形式出现,扰乱图像的可观测信息。通俗的说就是噪声让图像不清楚。二、噪声来源—两个方面(1)图像获取过程中两种常用类型的图像传感器CCD和CMOS采集图像过程中,由于受传感器材料属性、工作环境、电子元器件和电路结构等影响,会引入各种噪声,如电阻引起的热噪声

2020-12-02 10:12:46 406

原创 数字信号处理实践方法 第二版 笔记

第二章 实时DSP系统的模拟I/O接口模拟I/O接口的作用:允许模拟和数字格式的转换2.1 典型的实时DSP系统ADC(analog to digital converter):模拟/ 数字转换。将模拟信号转换成数字信号的电路,称为模数转换器DAC(digital to analog converter):数字/模拟转换。将数字信号转换为模拟信号的电路称为数模转换器。······2.2 模数转换过程1、模数转换过程的步骤:·2、图解:······2.3 抽样-低通和带通信号1、

2020-12-02 10:06:07 277

原创 图像工程(上册)——图像处理第四版 笔记

第一章 绪论

2020-11-13 11:46:05 2841 1

原创 乐扣312 戳气球

问题描述 :有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。如果你戳破气球 i ,就可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left 和气球 right 就变成了相邻的气球。求所能获得硬币的最大数量。说明:你可以假设 nums[-1] = nums[n] = 1,但注意它们不

2020-09-02 10:20:04 103

原创 乐扣139单词拆分

问题描述 :给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成 “leet code”。示例 2:输入: s = “applepenapple”, word

2020-09-01 14:27:26 92

原创 乐扣309:最佳购买股票时机含冷冻期

问题描述 :给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]输入说明 :首先输入prices数组元素数目n,然后输入n个整数思路:分

2020-09-01 13:30:49 117

原创 乐扣332 重新安排行程

问题描述给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。说明:如果存在多种有效的行程,你可以按字符自然排序返回最小的行程组合。例如,行程 [“JFK”, “LGA”] 与 [“JFK”, “LGB”] 相比就更小,排序更靠前所有的机场都用三个大写字母表示(机场代码)。假定所有机票至少存在一种合理的行程。示例 1:输入:

2020-08-24 15:16:37 86

原创 乐扣74 OJ51:搜索二维矩阵 二分查找

问题描述 :编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。要求使用二分查找。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50]]target = 3输出: true示例 2:输入:matrix = [[1, 3, 5, 7],[10, 11, 16, 20],[23

2020-08-10 11:07:50 123

原创 乐扣T881 OJ23:救生艇 c++

问题描述 : 贪心算法第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。示例 1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例 2:输入:people = [3,2,2,1], limit = 3输出:3解释:3 艘船分别载 (1, 2), (2) 和 (3)示例 3:输入

2020-07-18 18:24:27 163

原创 乐扣T122 OJ22:买卖股票的最佳时机 c++

问题描述 : 贪心算法给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在

2020-07-18 18:04:17 158

原创 乐扣T71 OJ:14简化路径 c++ ***

问题描述 :以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 / 结尾。此外,规范路径必须是表示绝对路径的最短字符串。

2020-07-13 22:59:58 179

原创 乐扣T394 OJ13:字符串解码 c++

问题描述 :给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例 1:输入:s = “3[a]2[bc]”输出:“aaabcbc”示例 2:输

2020-07-12 18:29:17 159

原创 乐扣T921 OJ11:使括号有效最少添加 c++

问题描述 :给定一个由 ‘(’ 和 ‘)’ 括号组成的字符串 S,我们需要添加最少的括号( ‘(’ 或是 ‘)’,可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的:它是一个空字符串,或者它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者它可以被写作 (A),其中 A 是有效字符串。给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。示例 1:输入:"())"输出:1示例 2:输入:"((("

2020-07-07 16:47:27 259

原创 乐扣T25 OJ10:K个一组翻转链表 c++(经典)

问题描述 :给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->1->4->5说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的

2020-07-07 16:28:57 138

原创 乐扣T1171 OJ9:从链表中删去总和值为0的连续节点 c++

问题描述 :给你一个链表的头节点 head,请你编写代码,反复删去链表中由总和值为 0 的连续节点组成的序列,直到不存在这样的序列为止。如果存在多个总和值为0的连续节点序列,优先删除位置靠前的序列。删除完毕后,请你返回最终结果链表的头节点。示例 1:输入:head = [1,2,-3,3,1]输出:[3,1]提示:答案 [1,2,1] 不正确。示例 2:输入:head = [1,2,3,-3,4]输出:[1,2,4]示例 3:输入:head = [1,2,3,-3,-2]输出:[1]

2020-07-07 14:13:44 165

原创 乐扣T1019 OJ8:链表中的下一个更大节点 c++

问题描述 :给出一个单向链表。链表中的节点分别编号为:node_1, node_2, node_3, … 。每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 next_larger(node_i) 是 node_j.val,那么就有 j > i 且 node_j.val > node_i.val,而 j 是可能的选项中最小的那个。如果不存在这样的 j,那么下一个更大值为 0 。返回整数答案数组(代码中是vector) answer,其中 an

2020-07-06 22:25:54 195

原创 乐扣T24 OJ7:两两交换链表中的结点 c++

问题描述 :给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。输入范例:41 2 3 4输出范例:head–>2–>1–>4–>3–>tail#include<iostream>using namespace std;struct ListNode{ int val; struct ListNode *next; ListNode() : val(0),

2020-07-06 21:55:57 92

原创 乐扣T328 OJ6:奇偶链表 c++

问题描述 :给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2->4->NULL示例 2:输入: 2->1->3->5->6-

2020-07-05 22:16:06 100

原创 乐扣T725 OJ5:分隔链表 c++

问题描述 :给定一个头结点为 root 的链表, 编写一个函数以将链表分隔为 k 个连续的部分。每部分的长度应该尽可能的相等: 任意两部分的长度差距不能超过 1,也就是说可能有些部分为 null。这k个部分应该按照在链表中出现的顺序进行输出,并且排在前面的部分的长度应该大于或等于后面的长度。返回一个符合上述规则的链表的列表。举例: 1->2->3->4, k = 5 // 5 结果 [ [1], [2], [3], [4], null ]示例 1:输入:root = [1,

2020-07-05 17:55:28 129

原创 10:一元多项式的加减法运算 c++

问题描述 :假设2个稀疏一元多项式分别由带头结点的有序单链表A和B存储(指数项递增有序)。现要求设计一个算法,实现稀疏一元多项式的加减法计算。要求使用A和B的原存储空间(运算后B不再存在,A链表中保存结果多项式)。输入中的单链表的长度不得在计算算法中利用,仅作为建表使用。注意:加/减法计算后,如某一项的结果系数为0,则该项要从多项式链表中删除。输入说明 :第一行:加/减法选择(0:加法 1:减法)第二行:一元多项式A的项数第三行:一元多项式A的各项的系数(系数之间以空格分隔)第四行:一元多项

2020-07-05 16:23:55 582

原创 乐扣T817 OJ4:链表组件 c++

问题描述 :给定链表头结点 head,该链表上的每个结点都有一个唯一的整型值 。同时给定列表 G,该列表是上述链表中整型值的一个子集。返回列表 G 中组件的个数,这里对组件的定义为:链表中一段极长连续结点的值(该值必须在列表 G 中)构成的集合。极长的含义是:这段连续结点的前面或后面结点不属于G。示例 1:输入:head: 0->1->2->3G = [0, 1, 3]输出: 2解释:链表中,0 和 1 是相连接的,且 G 中不包含 2,所以 [0, 1] 是 G 的一

2020-07-04 22:24:18 165

原创 乐扣T148 OJ3:排序链表 c++

问题描述 :在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5输入范例:5-1 5 3 4 0输出范例:head–>-1–>0–>3–>4–>5–>tail思路:1、O(nlogn)的时间复杂

2020-07-04 17:28:21 225

原创 8:圆桌问题 c++

问题描述 :圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。输入说明 :输入:好人和坏人的人数n(<=32767)、步长m(<=50);输出说明 :输出2n个大写字母,‘G’表示好人,‘B’表示坏人,50个字母为一行。输入范例:52

2020-07-04 15:51:52 732 1

原创 7:求有序序列的交集(链表) c++

问题描述 :使用带头结点的单链表编程:有两个有序序列,分别表示两个集合。求它们的交集并输出。注意:这里要利用到“有序”的特性。输入说明 :第一行输入序列A的信息:第一个整数n(0<=n<=100),表示共有n个元素,其后有n个整数,表示n个元素的数据第一行输入序列B的信息:第一个整数n(0<=n<=100),表示共有n个元素,其后有n个整数,表示n个元素的数据注:两个序列输入时保证有序输出说明 :输出交集的元素序列,输出格式见范例。如果交集为空,则输出“he

2020-07-03 14:58:12 435

原创 6:求序列的交集(链表) c++

问题描述 :使用带头结点的单链表编程:有两个序列,分别表示两个集合。求它们的交集并输出。输入说明 :第一行输入序列A的信息:第一个整数n(0<=n<=100),表示共有n个元素,其后有n个整数,表示n个元素的数据第一行输入序列B的信息:第一个整数n(0<=n<=100),表示共有n个元素,其后有n个整数,表示n个元素的数据输出说明 :输出交集的元素序列,输出格式见范例。如果交集为空,则输出“head–>tail”交集里的元素顺序,依照其在序列A中的顺序。

2020-07-03 14:45:11 521

原创 5:悲剧文本 c++

问题描述 :你有一个破损的键盘。键盘上的所有键都可以正常工作,但有时Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心地输入英文单词,甚至连显示器都没瞧一眼。当你看显示器时,展现在你面前的是一段悲剧的文本。你的任务是计算这段文本有几个单词。输入包含多组数据。每组数据占一行,包含不超过20000个英文字母、空格、字符“[”或者“]”(这多达20000个字符的数据会显示在一行,不用担心会换行)。其中字符“[”表示Home键(将光标定位到一行的开头),“]”表示End键(将光标定位到

2020-07-02 17:44:22 528

原创 乐扣T61 OJ2:旋转链表 c++

给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5->1->2->3->NULL示例 2:输入: 0->1->2->NU

2020-07-02 17:08:52 126

原创 2:在链表指定位置插入结点 c++

问题描述 :输入若干(不超过100个)非负整数,创建一个不带头结点的单向链表。再输入一个位置index以及一个数据data,程序中首先创建一个新结点s,s的数据成员为data,然后调用函数insertNode将s插入到链表的指定位置index处,最后输出结果链表。请编写insertNode函数,完成插入操作。insertNode函数的原型如下:struct student *insertNode(struct student *head, struct student *s, int index)

2020-07-02 15:22:27 2013

原创 1:查找序列元素(链表) c++

问题描述 :使用带头结点的单链表编程:一群学生排成一行,输入一个学号,请确定该学号学生所在的位置。输入说明 :第一行输入学生信息:第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号第二行及以后各行,每行输入一个整数,表示要查找的学生学号。输出说明 :对于每个要查找的学号,输出一个整数,表示要查找学生的位置。如果共有n个学生,则位置序号为1~n。如果学生不存在,输出“no”,不包括双引号。每个输出占一行。输入范例:12 50 51 52

2020-07-02 15:22:19 483

原创 3:删除链表第index个结点 c++

问题描述 :输入若干(不超过100个)非负整数,创建一个不带头结点的单向链表。在输入一个位置index,从链表中删除第index个结点,输出结果链表。请编写deleteNode函数,完成删除操作。deleteNode函数的原型如下:struct student *deleteNode(struct student *head,int index)形参:struct student *head:链表的头指针,需要从这个链表中删除int index:从链表中删除第index个结点。index从1开始

2020-07-02 15:22:11 235

原创 4:集合的操作 c++

问题描述 :输入A、B、C、D四个集合(集合中无重复元素,且元素值都大于0),分别存储在不带头结点的链表中。本程序先将四个集合执行以下操作:1.对A、B、C、D分别进行升序排序;(该功能已实现,见函数sort)。2.做A=A+B操作:先执行两个有序链表A和B的合并,并仍然保持有序,结果存储在A中,然后删除重复元素;(该功能已实现,见函数merge和purge)。3.做A=A-C操作:将C中出现的元素从A中删除;(该功能已实现,见函数subtract)。4.对D中出现的元素,逐一到A中查询:a.

2020-07-02 15:21:59 407

原创 乐扣T143 OJ1:重排链表 c++

问题描述 :给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3.输入说明 :首先输入链表长度len,然后输入l

2020-07-02 15:21:37 142

空空如也

空空如也

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

TA关注的人

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