自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(257)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Leetcode刷题系列汇总

分治 && 归并

2020-11-28 10:44:21 39

原创 计算机专业英文词汇收集汇总

数据库相关:WAL:WAL(Write Ahead Log)预写日志,是数据库系统中常见的一种手段,用于保证数据操作的原子性和持久性。在使用 WAL 的系统中,所有的修改或者写入在提交之前都要先写入 log 文件中,以防止断电后数据无法恢复;LSM tree:(Log-Structured Merge Tree)日志结构化合并树,核心思想的核心就是放弃部分读能力,换取写入的最大化能力。它的核心思路就是假定内存足够大,因此不需要每次有数据更新就要将数据写入到磁盘中,而可以先将最新的数据驻留在内存中,

2020-11-27 20:35:45 11

原创 机器学习课程系列汇总

吴恩达《机器学习》笔记吴恩达《机器学习》第一章:监督学习和无监督学习吴恩达《机器学习》第二章:线性回归吴恩达《机器学习》第三章:矩阵和向量吴恩达《机器学习》第四章:多元线性回归吴恩达《机器学习》第六章:逻辑回归吴恩达《机器学习》第七章:正则化吴恩达《机器学习》第八章:逻辑回归吴恩达《机器学习》第九章:神经网络的学习吴恩达《机器学习》第十章:应用机器学习的建议吴恩达《机器学习》第十一章:机器学习系统的设计吴恩达《机器学习》第十二章:支持向量机SVM吴恩达《机器学习》第十三章:聚类吴恩

2020-11-27 10:59:14 8

原创 Algorithm:十大经典排序算法C++实现及总结
原力计划

#include <iostream>#include <vector>#include <algorithm>using namespace std;//1、Bubble Sort 冒泡排序void bubbleSort(int a[], int length){ if (length < 2) return; for (int i = 0; i < length - 1; i++) //需length-1趟排.

2020-05-10 13:48:57 1002 2

原创 Leetcode每日一题:767.reorganize-string(重构字符串)

思路:这道题还是有难度的,我只想到了如何判断它是否为空字符串,而不知道非空字符串时应该输出的结果,就是没有想到插入法;这道题可以通过举例子发现,如果最大的字符个数如果>(长度+1)/2,那么它是无论如何都达不到条件的;可以通过计算每个字符出现个数来实现这一功能;举个例子就能发现,如果length=3的字符串aab对于出现(length+1)/2次的a字符,只能把它放在evenIndex才能装下(主要就是因为第一个索引为0),并且这个字符串是满足条件的;总的来说,就是一定要想到插入法,想明白为.

2020-11-30 20:43:47 3

原创 Typora使用指南以及各种小技巧

文字居中文字居中使用的标签是:<center>文字内容</center>输入内容如下图所示:回车后,发现文字居中了,这个一般用来做标题:快捷键

2020-11-29 16:44:20 6

原创 Leetcode每日一题:976.largest-perimeter-triangle(三角形的最大周长)

思路:首先肯定是排序,排序后只需要从一个方向上开始找即可;但这里我用的二分查找,确定A[i]和A[i-1]后我们需要在后面找一个数x,使得x为<A[i]+A[i+1]的最大的数,所以这种东西秒想到二分查找;后来通过后看评论,排序后直接从数组尾部开始遍历即可,因为要找最大的周长,并且A[i]肯定是>(A[i-1]-A[i-2])的,所以只需要找到某个A[i],它能够满足A[i]<A[i-1]+A[i-2]即直接就是最大的周长;速度还有有差别的//法1://在a[l]和a[r]之间找.

2020-11-29 13:35:04 6

原创 Leetcode每日一题:493.reverse-pairs(翻转对)

官方题解给出的解题思路还是比较清晰的,分治到不能再分后,开始分别计算两个子序列各自的翻转数,然后归并:归并后的翻转数=二者各自翻转数之和+两个子序列之间可能构成的翻转对(两个循环即可求出);然后排完序继续归并,规模不断扩大;class Solution {public: int reversePairs(vector<int> &nums, int left, int right) { // 边界条件:分到只有一个元素了,重要翻转对数为0 .

2020-11-28 10:43:40 16

原创 Leetcode每日一题:面试题17.10.find-majority-element-lcci(主要元素)

思路:这道题不是单纯的摩尔投票法,因为它有可能不存在主要元素,而摩尔投票要求必须存在主要元素;这里通过摩尔投票法得到的可能是那个渔翁得利的元素,比如2 2 3 3 1,那么最后res=1,但实际上这个数组并不存在主要元素,所以这就需要我们再对数组遍历一次,看看res是不是主要元素;int majorityElement(vector<int> &nums){ int len = nums.size(); int res = nums[0], count = 1.

2020-11-27 13:10:38 8

原创 吴恩达《机器学习》第十八章:图片文字识别OCR

文章目录十八、应用实例:图片文字识别OCR18.1 问题描述和流程图18.2 滑动窗口18.3 获取大量数据和人工数据18.4 上限分析:下一步工作十八、应用实例:图片文字识别OCR18.1 问题描述和流程图18.2 滑动窗口本节问题:如何在图片中检测到文字?人像识别:矩形框;正负样本,分类,监督学习;1、选中图片左上角矩形框;2、传入分类器,检测y0 or y1,返回;3、矩形框右移(事先设定的步长),重复判断;4、移到最右边后下移,重复;5、移到末尾后,第二遍,增大窗

2020-11-27 10:49:38 13

原创 吴恩达《机器学习》第十七章:大规模机器学习

文章目录十七、大规模机器学习17.1 大型数据集的学习17.2 随机梯度下降法17.3 随机梯度下降收敛17.4 小批量梯度下降17.5 在线学习17.6 映射化简和数据并行十七、大规模机器学习17.1 大型数据集的学习大型数据集的学习带来的是计算问题;本章学习如何处理上亿级别的大型数据集;17.2 随机梯度下降法本节问题:随机梯度对比于普通梯度下降法,改进在哪?批量梯度下降:      ~~~~~~ &nbsp

2020-11-27 10:48:58 19

原创 吴恩达《机器学习》第十六章:推荐系统

文章目录十六、推荐系统16.1 问题形式化16.2 基于内容的推荐系统16.3 协同过滤16.4 协同过滤算法16.5 向量化实现16.6 均值归一化十六、推荐系统最重要的机器学习应用领域之一 ——推荐系统;推荐系统其实即使自动的特征学习;16.1 问题形式化给出 r(i,j) 和 y(i,j) 预测上图中的?,预测用户喜欢的类型,并将其没看过的属于喜欢的类型的电影推荐过去;16.2 基于内容的推荐系统假设:假设我们得到了电影的特征;这个θ(1)是假设出来的,实际上要通过训练得到;参数

2020-11-27 10:48:11 10

原创 Leetcode每日一题:454.4sum-ii(四数相加Ⅱ)

思路:四个循环肯定会超时的,1、遍历 A 和 B 所有元素和的组合情况,并记录在 ab_map 中,ab_map 的 key 为两数和,value 为该两数和出现的次数2、遍历 C 和 D 所有元素和的组合情况,取和的负值判断其是否在 ab_map 中,若存在则取出 ab_map 对应的 value 值,count = count + value;注意C++中unordered_map会比map快得多,因为map默认按key进行排序的;class Solution {public: i.

2020-11-27 10:46:45 8

原创 吴恩达《机器学习》第十五章:异常检测

文章目录十五、异常检测15.1 问题的动机15.2 高斯分布15.3 算法15.4 开发和评价一个异常检测系统15.5 异常检测 VS 监督学习15.6 选择特征15.7 多元高斯分布15.8 使用多元高斯分布进行异常检测十五、异常检测15.1 问题的动机飞机引擎检测:给定一系列正常的引擎参数,要求确定一个新生产的引擎是否正常;异常用户检测:网站检测用户刷新频率,登录次数、登陆位置等信息,判断用户行为是否异常;数据中心的计算机检测:检测计算机内存消耗、硬盘容量等信息,判断计算机是否异常;15.2

2020-11-26 17:34:58 11

原创 吴恩达《机器学习》第十四章:降维

文章目录十四、降维14.1 应用一:数据压缩14.2 应用二:数据可视化14.3 主成分分析PCA14.4 重建的压缩表示14.5 选择主成分的数量14.6 主成分分析的应用建议十四、降维14.1 应用一:数据压缩本节问题:降维是如何应用在数据压缩方面的?      ~~~~~~      数据投影,把三维数据降到二维,就是把它投影到一个z1,z2坐标的平面,用平面的点确定

2020-11-26 17:34:22 7

原创 吴恩达《机器学习》第十三章:聚类

文章目录十三、聚类13.1 无监督学习13.2 K-Means算法13.3 优化目标13.4 随机初始化13.5 选择聚类数十三、聚类13.1 无监督学习13.2 K-Means算法聚类算法——K-Means算法;本节问题:K-Means算法的原理;K-Means算法的使用;随机初始化N个聚类中心;while(true){ 簇分配:计算所有点到这N个聚类中心的距离,从而把数据分为N个簇(隔得最近的一个簇); 计算均值:对于每一个簇,计算各点到该簇聚类中心的距离,取平均值 移

2020-11-26 17:33:46 6

原创 吴恩达《机器学习》第十二章:支持向量机SVM

文章目录十二、支持向量机12.1 优化目标12.2 大边界的直观理解12.3 数学背后的大边界分类12.4 (高斯)核函数112.5 (高斯)核函数212.6 使用支持向量机十二、支持向量机12.1 优化目标SVM:support vector machine;把代价函数分成两部分,比如左边:hθ(X)=1/(1+e-z),当z趋向于很大的数时,hθ(X)才能取到1;支持向量机:取出1/m,惯例不同而已,1/m不影响θ的结果;这是支持向量机的总体代价函数:12.2 大边界的直观理

2020-11-26 17:33:05 16

原创 吴恩达《机器学习》第十一章:机器学习系统的设计

文章目录十一、机器学习系统的设计11.1 首先要做什么11.2 误差分析11.3 不对称性分类得误差评估11.4 查准率和召回率的权衡11.5 机器学习数据十一、机器学习系统的设计11.1 首先要做什么      ~~~~~~      比如:对于一个垃圾邮件分类系统,我如何做才能对垃圾邮件进行分类?      ~~~~

2020-11-26 17:32:13 13

原创 吴恩达《机器学习》第十章:应用机器学习的建议

文章目录十、应用机器学习的建议10.1 决定下一步做什么10.2 评估假设10.3 模型选择和交叉验证集10.4 诊断偏差与方差10.5 正则化和偏差、方差10.6 学习曲线10.7 决定下一步做什么十、应用机器学习的建议10.1 决定下一步做什么以房价预测为例,当预测时遇到很多无法接受的错误时,下一步该怎么做?获得更多的训练样本;减少特征数;觉得目前的特征信息量不够,要获得更多的特征;加入高次项系数(x12,x22,x1x2,etc)减小λ;增大λ;  &nbsp

2020-11-26 17:30:43 16

原创 吴恩达《机器学习》第九章:神经网络的学习

文章目录九、神经网络的学习9.1 代价函数9.2 反向传播算法9.3 理解反向传播9.4 梯度检验9.5 随机初始化9.6 总体回顾9.7 神经网络举例:无人驾驶九、神经网络的学习9.1 代价函数???9.2 反向传播算法Back Propagation => BP神经网络δ表示误差值,输出的aj(4)与yi的差值;先计算结果,在根据误差调整参数,原理和逻辑回归差不多,只是过程复杂了,这个误差就是反向传播算法得到的,而结果则是前向传播算法得出;前向输出,反向求参!9.3 理解反

2020-11-26 12:46:25 10

原创 吴恩达《机器学习》第八章:逻辑回归

文章目录八、神经网络:表述8.1 非线性假设8.2 神经元和大脑8.3 神经网络举例8.4 多元分类问题八、神经网络:表述8.1 非线性假设      ~~~~~~      对于特征数很多的逻辑回归,其特征空间会膨胀,因为hθ(x)中会含有很多多次项,比如x12,x1x2,…;如果包含二次项的话,那么估计一共会有O(n2)项,考虑三次项则会有O(n3)项;这是一种包含很多个

2020-11-26 12:46:13 10

原创 吴恩达《机器学习》第七章:正则化

文章目录六、 正则化6.1 过拟合问题6.2 代价函数6.3 线性回归的正则化6.4 logistic回归的正则化六、 正则化6.1 过拟合问题过拟合:overfitting,模型有很多特征,使得假设模型可能会千方百计的去拟合训练集,努力地扭曲从而符合每个训练样本,虽然能让曲线的代价函数值很低,甚至为0,但这种情况会导致无法泛化到新的样本中,无法预测新样本的价格;泛化:一个假设模型应用到新样本的能力,新样本数据就是训练集之外的数据;Q:如何解决过拟合的问题?1、减少特征变量:通过人

2020-11-26 12:37:30 12

原创 Leetcode每日一题:164.maximum-gap(最大间距)

思路:开始没看见下面的说明,直接一sort完事了;后来看见后无疑就想到了基数排序,只有计数排序和基数排序能在最坏的情况下达到线性时间复杂度,而基数排序无疑不满足线性空间复杂度,所以这里选择基数排序;static bool cmp(int a, int b){ return a < b;}int maximumGap(vector<int> &nums){ int len = nums.size(); if (len < 2) .

2020-11-26 08:53:46

原创 Leetcode每日一题:1370.increasing-decreasing-string(上升下降字符串)

思路:规规矩矩按题目来,飘过;static bool cmp(char a, char b){ return a < b;}string sortString(string s){ int len = s.size(); if (len == 0) return ""; if (len == 1) return s; sort(s.begin(), s.end(), cmp); string res; vector<bool> flag(len, tr.

2020-11-25 22:02:29 6

原创 Leetcode每日一题:222.count-complete-tree-nodes(完全二叉树的节点个数)

思路:如果直接遍历二叉树的话,没有用到完全二叉树的性质,但是看懂精选题解后,就时间复杂度而言,甚至递归or遍历二叉树效率更高;//递归遍历class Solution {public: int dfs(TreeNode *root) { if(root==NULL) return -1; else return 2+dfs(root->right)+dfs(root->left); .

2020-11-24 09:13:36 8

原创 influxDB框架 & 数据存储 & TSM & 数据操作等详解

文章目录influxdbinfluxdata主目录结构源码主目录结构cmd目录其他目录数据操作CLI--influx命令行操作执行influx创建数据库查看数据库使用数据库数据行协议插入数据行查看数据常用命令使用HTTP接口操作数据库创建数据库写入数据无模式设计使用HTTP接口查询数据采样和数据保留相关概念时间戳fieldtagmeasurementseriespoint专业术语durationpointshardSQL VS InfluxDB形式上数据操作上写入协议--行协议语法measurementTa

2020-11-23 18:21:14 38

原创 Leetcode每日一题:452.minimum-number-of-arrows-to-burst-balloons(最少数量的箭引爆气球)

题意:大致就是这么多区间,我要用最少的箭将这些区间全部串起来,区间是水平的,箭是垂直的;思路:对区间按照起点大小进行排序,设立max_start 和 min_end ,这样points[i+1][0]>=points[i][0],只要points[i+1][0]>=max_start && points[i+1][0]<=min_end那么,下个区间就和前面的区间有交集,就可以用同一支箭串起来,并更新max_start 和 min_end,保证一只箭能串到更多的区间;如.

2020-11-23 12:18:25 10

原创 学习笔记 —— 吴恩达《机器学习》课程

一、前言1.1 监督学习:监督学习:见度给出数据集和正确答案,要求机器给出更多的正确答案(实现预测)数据问题 && 分类问题单个 or 多个 特征/属性特征:年龄、肿瘤尺寸;Q:无数个特征又该怎么办?1.2 无监督学习将数据集分簇 -> 聚类算法,聚类算法只是无监督算法中的一种;无监督学习:给定数据集,但没有给出正确答案,要求机器对其分类,我们不知道这个数据集有多少类, 看机器把它们分成多少个簇;计算机集群 、社交网络、市场分析;鸡尾酒会算法:一个

2020-11-21 22:19:23 27

原创 Leetcode每日一题:148.sort-list(链表排序)

思路:对给定的链表进行排序,我最先想到的就是用昨天做的插入排序,一提交发现超时了,一看它这里要求时间复杂度为O(n logn)并且空间复杂度为常数级;链表的插入排序无疑复杂度为O(n2);后来使用归并排序,复杂度才达到要求;这是其中的一篇题解,我觉得写的挺详细的:链接因为递归使用栈,所以消耗了很大的内存;// 找到链表中间节点(876. 链表的中间结点)ListNode *middleNode(ListNode *head){ if (!head || !head->next.

2020-11-21 10:45:17 9

原创 Leetcode每日一题:147.insertion-sort-list(对链表进行插入排序)

思路:因为链表的特性,插入排序无法从当前元素往前遍历,所以这里直接从头开始查找插入位置,分头部插入、中间插入和尾部插入;ListNode *insertionSortList(ListNode *head){ if (!head || !(head->next)) return head; ListNode *cur = head->next; head->next = nullptr; ListNode *next = nullp.

2020-11-20 10:30:38 7

原创 Leetcode每日一题:690.employee-importance(员工的重要性)

思路:找下属,求重要性和直接用BFS即可,关键是这里的数据结构不是链表,如何最快速度找到下属是最重要的;这里我用map将每个员工的id-下标索引存储起来,直接通过id得到其员工属性;int getImportance(vector<Employee *> employees, int id){ map<int, int> m; //建立员工id-数组索引的映射; int len = employees.size(); //初始化m for (.

2020-11-19 09:20:11 16

原创 Leetcode每日一题:283.move-zeroes(移动零)

class Solution {public: void moveZeroes(vector<int> &nums) { int len = nums.size(); if (len < 2) return; int index = 0; for (int i = 0; i < len; i++) { if (nums[i] !=.

2020-11-19 08:50:33 6

原创 Leetcode每日一题:134.gas-station(加油站)

思路:就按题目所给的要求来,到一个站点,就减去消耗的油,如果没油了,返回false,否则,加上该站点加的油,重复直到开到入口点;注意到最后一个站点时,要把下一个站点设为0;int init = 0;int flag = true;void dfs(vector<int> &gas, vector<int> &cost, int len, int now, int remain) //从enter口开始{ //开到下一个点,消耗了油 rema.

2020-11-18 15:05:51 57

原创 Leetcode每日一题:204.count-primes(计数质数)

思路:普通的做法肯定超时,这里介绍厄拉多塞筛法,非常适用于质数的题; 比如说求20以内质数的个数,首先0,1不是质数.2是第一个质数,然后把20以内所有2的倍数划去.2后面紧跟的数即为下一个质数3,然后把3所有的倍数划去.3后面紧跟的数即为下一个质数5,再把5所有的倍数划去.以此类推.int countPrimes(int n){ vector<bool> rec(n, true); int i = 2, count = 0; //厄拉多塞筛法主体 while (i < n.

2020-11-17 13:04:59 13

原创 Leetcode每日一题:1030.matrix-cells-in-distance-order(距离顺序排列矩阵单元格)

static bool cmp(vector<int> a, vector<int> b){ return a[2] < b[2];}vector<vector<int>> allCellsDistOrder(int R, int C, int r0, int c0){ vector<vector<int>> res(R * C, {0, 0, 0}); int index = 0; f

2020-11-17 12:45:16 7

原创 将markdown文本转换为微信文章格式的解决方案

在线网站1:http://blog.didispace.com/tools/online-markdown/这是个不错的工具,简介大方,不过我在使用时出现了代码格式错乱的情况,所以我还是选择了下面这个;在线网站2:https://www.mdnice.com/可以订阅很多主题,同时代码也不会出现格式错误的情况;...

2020-11-16 20:54:14 12

原创 leetcode每日一题:406.queue-reconstruction-by-height(根据升高重建队列)

思路:先对队列进行排序,k小的排前面,如果k相等,那么按照h小的排序;随后进行插入,每次插入元素 i ,检查前面有多少人升高比i的高,并对人数计数,对于相同的k,i应该按从小到大的顺序插入;static bool cmp(vector<int> a, vector<int> b){ if (a[1] < b[1]) return true; else if (a[1] == b[1]) { return a[0] .

2020-11-16 13:48:59 18

原创 Leetcode每日一题:402.remove-k-digits(移掉k位数字)

思路:我们只需从左向右扫描k次,每一次都扫描到递增序列的峰值,再把它删除,最后留下的便是最小值;string removeKdigits(string num, int k){ int len = num.size(); if (len == k) return "0"; for (int i = 0; i < k; i++) { //要删除的元素下标del int del = 0; //从左向右.

2020-11-15 12:13:48 12

原创 吴恩达《机器学习》第六章:逻辑回归

文章目录五、逻辑回归5.1 Sigmoid 函数5.2 决策边界5.2.1 线性决策边界5.2.2 非线性决策边界5.3 代价函数5.4 高级优化5.5 多类别分类五、逻辑回归逻辑回归:Logistic Regression,一种广义的线性回归,其因变量可以是二分类的;      ~~~~~~      如果直接对二分类问题应用线性回归,效果并不理想,因为线性回归输出的是离散值,

2020-11-14 21:40:24 11

原创 吴恩达《机器学习》第四章:多元线性回归

目录四、多元线性回归4.1 特征缩放4.2 学习率α4.4 特征和多项式4.4 正规方程四、多元线性回归多特征下的假设形式:4.1 特征缩放特征缩放:Feature Scaling,对模型特征的数量级进行放大缩小,使之都在相近或者同一数量级上;Q:为什么要引入特征缩放?      ~~~~~~      对于有两个特征的房价预测模型,特征1是房屋大小,特征2是卧室数量,房

2020-11-14 21:39:35 8

CMU CSAPP课件 |CSAPP.rar

CMU CSAPP课件

2020-09-26

devC++出现error: ld returned 1 exit status错误

发表于 2019-11-11 最后回复 2019-11-13

空空如也

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

TA关注的人 TA的粉丝

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