- 博客(216)
- 收藏
- 关注
原创 leetcode-剑指 Offer 44. 数字序列中某一位的数字
记录需要找数字规律的题:数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。示例 1:输入:n = 3输出:3示例 2:输入:n = 11输出:0限制:0 <= n <2^31找规律的数学题还是积累叭!原题地址class Solution { public int findNth...
2020-08-20 09:57:09
275
原创 Python网络爬虫从入门到实践 -- chapter 1 -- 网络爬虫入门
1 Robots协议Robots协议(爬虫协议)全称网络爬虫排除标准,网站通过Robots协议告诉搜索引擎哪些页面可以抓取(Allow:/),哪些不能抓取(Disallow:/)。这个协议是国际互联网界遵守的道德规范。在进行爬虫时要对自己的爬虫行为自我管理,过快或者过于密集的网络爬虫会对服务器产生巨大的压力。因此要遵守Robots协议,约束爬虫速度;使用爬到的数据时遵守网站的知识产权。...
2019-08-28 20:06:06
552
原创 一些知识点
数据结构1 数组和链表的区别逻辑结构:数据的大小确定,不能动态增减。链式存储可以适应动态地增减数据的情况,可以方便地插入、删除数据线。内存存储:数组从栈中分配空间(new为堆上创建);链表从堆中分配空间,自由度大胆申请管理比较麻烦。访问方式:数组内存连续存储;链表链式存储,通过指针访问,效率比数组低。2 快速排序过程首先,选择一个基准元素通过一趟排序把记录分...
2019-08-22 20:41:10
274
原创 吴恩达机器学习 -- 神经网络学习
9.1 非线性假设无论是线性回归还是逻辑回归都有这样一个缺点,即:当特征太多时,计算的负荷会非常大。吴恩达老师举了一个例子:当我们使用 的多次项式进行预测时,我们可以应用的很好。 之前课程学习过,使用非线性的多项式项,能够建立更好的分类模型。假设有非常多的特征,例如大于100个变量,希望用这100个特征来构建一个非线性的多项式模型,结果将是数量非常惊人的特征组合,即便只采用两两特征...
2019-08-18 20:08:32
1005
原创 吴恩达机器学习 -- 正则化
8.1 过拟合的问题过拟合问题会导致线性回归和逻辑回归效果变差,那么过拟合到底是指什么意思呢?一个回归问题的例子:图一的线性回归模型,欠拟合;图三的逻辑回归模型虽然经过了所有的样本点,但是它预测新数据时却效果很差,因为它过于强调拟合原始数据。这种情况就叫做过拟合。可以看出,若给出一个新的值使之预测,它将表现的很差,是过拟合,虽然能非常好地适应我们的训练集但在新输入变量进行预测时可...
2019-08-16 11:21:39
176
原创 吴恩达机器学习 -- 逻辑回归(Logistic Regression)
7.1 分类问题如果要预测的变量 是离散值,此时我们应用 logistics regression。在分类问题中,我们对某一事物进行分类,有二分类和多分类问题。此节先讨论二分类问题,即只有两个分类。将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量 , 0 表示负向类,1...
2019-08-16 09:48:34
326
原创 计算机组成原理 -- 概念点整理
第一章 计算机系统概述1. 计算机由哪几部分组成,以哪部分为中心?答:计算机由运算器、控制器、存储器、输入设备、输出设备五部分组成。现代计算机通常把运算器和控制器集成在一块芯片上,称作中央处理器。在微处理器面世之前,以运算器为中心,随着微电子技术的进步,发展成以存储器为中的结构。2. 翻译程序、编译程序、汇编程序、解释程序的区别和联系?答:翻译程序:把高级语言翻译成机器语言的软...
2019-08-15 21:22:12
1326
原创 欧拉图、半欧拉图
欧拉图和半欧拉图的定义:欧拉回路:图G中经过每条边一次并且仅一次的回路称作欧拉回路欧拉通路:图G中经过每条边一次并且仅一次的路径称作欧拉通路。那么欧拉图(Eulerian graph)指的就是存在欧拉回路的图。半欧拉图(semi-Eulerian graph)指的是存在欧拉通路但不存在欧拉回路的图。二者存在的条件:1.无向图中: 无向图G为欧拉图,...
2019-08-14 21:05:23
2328
原创 吴恩达机器学习 -- 多变量线性回归
5.1 多维特征前一周所讲是单变量线性回归,即 ,是只有一个变量 的假设函数,现在对房价预测模型有了更多的参考特征,比如楼层数,卧室的数量,还有房子的使用年限。根据这些特征来预测房价。此时的变量有多个。 构成一个含有多个变量的模型,模型中的特征为 一些注释::特征的数量 :第 i 个样本的特征向量:第 i 个样本的 特征向量中的第 j 个特征那么,线性回归的多变量假设函...
2019-08-14 17:27:18
260
转载 字典树
一道机试题:写一个字典实现以下功能:(1)插入某个字符串(2)删除某个字符串为前缀的所有字符串(3)搜索某个字符串为前缀的字符串,找到输出YES,否则输出NO看到这个是有想到索引,但是这个前缀不太好实现,于是上网看有没有什么好的实现方式。又认识到了一种新的字典的实现方式:字典树。这个结构真的太适合有前缀的字符串存储了!!字典树参见博客:https://blog.csd...
2019-08-13 21:04:32
117
原创 操作系统(5) -- 输入/输出管理
5.1 I/O管理概述 I/O设备 按使用特性:人机交互外部设备、存储设备、网络通信设备 按信息交换的单位分类:块设备、字符设备 I/O控制方式 外围设备与内存之间的输入/输出方式: 程序直接控制方式 中断驱动方式:允许IO设备主动打断CPU的运行并请求服务,从而解放CPU DMA方式:在IO设备和内存之...
2019-08-12 19:30:29
368
原创 数据仓库与联机分析处理技术
计算机系统中存在两类不同数据处理工作:操作型处理和分析型处理,也称联机事务处理(OLTP)和联机分析处理(OLAP)操作型也叫事务处理,通常是对一个或一组记录的查询和修改。分析型指对数据的查询和分析操作,通常是对海量数据查询和分析,要访问的数据量很大。因此诞生了DW数据仓库,数据仓库将操作型和分析型区分开来。传统的数据库技术为操作型处理服务,DW为分析型处理服务。(一)数据仓...
2019-08-12 14:53:37
1691
原创 操作系统(4) -- 文件管理
4.1 文件系统基础 文件的概念 文件:是以计算机硬盘为载体的存储在计算机上的信息集合。用户进行输入、输出中,以文件为基本单位。OS中的文件系统实现对文件的维护管理。 文件包含:一块存储空间中的数据,包含分类和索引的信息,关于访问权限的信息。 定义: 数据项:文件系统中最低级的数据组织形式,分基本数据项和组合数据项 ...
2019-08-11 21:06:24
343
原创 MapReduce
短小精悍的简介:MapReduce是Google提出的大规模并行计算解决方案,应用于大规模廉价集群上的大数据并行处理。MapReduce以key/value的分布式存储系统为基础,通过元数据集中存储,数据以chunk为单位分布存储和数据chunk冗余复制来保证高可用性。MapReduce是一种并行编程模型,将计算阶段分为两个阶段:Map阶段和Reduce阶段。首先把输入数据源分块,交给多个...
2019-08-11 14:37:03
5699
原创 操作系统(3) -- 内存管理
3.1 内存管理概念 内存管理的基本原理和要求 为什么要进行内存管理? 虽然内存容量在不断增长,但是仍然不可能将所有用户进程和系统所需要的全部程序与数据放入主存,于是操作系统需要对内存空间进行合理的划分和动态分配 内存管理的功能: 内存空间的分配与回收 地址转换 内存空间的扩充 存...
2019-08-10 20:30:27
206
原创 数据结构(7)—— 排序总结
『知识框架』「排序基本概念 」算法的稳定性:若待排序中有两个元素 和 ,对应关键字 和 ,且排序前 在 前面,使用某一算法之后, 仍在 之前,则称排序算法稳定。稳定性不能衡量一个算法的优劣。排序算法分类:内部排序:排序期间元素全部存在内存中的排序 外部排序:元素无法全部放在内存中,要在内、外存之间移动的排序并非所有排序基于比较操作,比如基数排序...
2019-08-10 17:26:03
357
原创 操作系统(2) -- 进程管理
2.1 进程与线程 为什么引入进程? 多道程序环境下,允许多个程序并发执行,为了更好的描述和控制程序的并发执行,实现操作系统的并发性和共享性 进程: 进程控制块(process control block,PCB):利用PCB描述进程的基本情况和运行态,进而控制和管理进程。是进程存在的唯一标志。 程序段,数据段,PCB组成进程实体 进程...
2019-08-09 21:23:01
344
原创 数据结构(6) -- 查找
查找表:用于查找的数据集合 对查找表的四种操作: 查询某特定元素是否在查找表中 检索满足条件的某个特定的数据元素的各种属性 在查找表中插入一个数据元素 删除一个数据元素 静态查找表:没有插入,删除操作的查找表。查找方法:顺序查找、折半查找、散列查找 动态查找表方法:二叉排序树的查找(二叉平衡树、B树)...
2019-08-09 21:08:28
305
原创 数据结构(5) -- 图
5.4 图的应用图的应用主要包括:最小生成树、最短路径、拓扑排序和关键路径5.4.1 最小生成树(MST)连通图的生成树:图的极小连通子图,包含图中所有顶点,只含尽可能少的边。若砍去最小生成树的一条边,使生成树变成非连通图,加上一条边,会形成一条回路。最小生成树:边权值最小的那棵生成树 最小生成树不唯一,但权值唯一,且是最小的。 算法:prim算法/kruskal算...
2019-08-09 21:00:27
287
原创 数据结构(3) -- 栈和队列
3.1 栈 栈是一种线性表,只允许在一段进行插入和删除操作 栈的顺序存储结构: 注意栈顶初始化时,top指针是-1还是0, 入栈时先判满,出栈时先判空 共享栈:两个栈栈底设置在共享空间的两端,两个栈顶向共享空间的中间延伸 栈的链式存储:采用单链表实现,操作在单链表表头进行 3.2 队列 操作受限的线性表,只允许在表...
2019-08-09 20:59:13
236
原创 数据结构(2) -- 线性表的顺序表示
2.2 线性表的顺序表示 顺序表基本操作: 插入操作:最坏情况O(n),最好情况O(1),平均情况O(n) 删除操作:最坏情况O(n),最好情况O(1),平均情况O(n) 按值查找:最坏情况O(n),最好情况O(1),平均情况O(n) 2.3 线性表的链式表示 头结点:在单链表第一个结点之前附加一个结点,称头结点。头结点的数据域...
2019-08-09 20:58:40
236
原创 数据结构(1) -- 绪论
1.1 数据结构的基本概念 抽象数据类型(ADT):指一个数学模型及定义在该模型上的一组操作,通常用(数据对象,数据关系,基本操作集)来表示。 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合,包括(逻辑结构、存储结构、数据的运算)。算法设计取决于逻辑结构,算法的实现取决于存储结构。 数据结构三要素: 逻辑结构:线性和非线性 存储结构:...
2019-08-09 20:58:08
191
原创 操作系统(1) -- 计算机系统概述
1.1 操作系统基本概念 操作系统(Operating System,OS)指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便的接口与环境的程序集合 操作系统的基本特征:并发,共享,虚拟,异步 操作系统的功能: 作为计算机系统资源的管理者: 处理机管理 存储器管理...
2019-08-09 20:56:39
220
原创 RDBMS运行过程示例
① 用户A通过应用程序A向RDBMS发出调用数据库数据的命令,命令中给出关系名和查找条件② RDBMS 首先对命令进行语法检查,通过后进行语义检查和存取权限检查。具体:RDBMS查数据字典,检查是否存在该关系及相应字段,该用户能否读取等,确认正确后执行该命令,否则拒绝执行,返回错误信息。③ RDBMS 执行查询优化。优化器依据数据字典中的信息优化,把命令转换成一串单记录的存取...
2019-08-09 17:35:43
809
原创 关系型数据库与非关系型数据库的区别
关系型数据库优点:安全:数据存储在磁盘上,不会说突然断电导致数据没了容易理解:建立在关系模型上,关系模型就是二维表格模型,二维表结构非常贴近逻辑世界使用方便:通用的SQL语言使得操作关系型数据库很方便易于维护:丰富的完整性大大降低数据冗余和数据不一致的概率数据一致性高,冗余低数据完整性好,便于操作技术成熟,功能强大,支持很多复杂操作缺点:不节省空间:建立在关...
2019-08-08 17:07:43
163
原创 2PC协议(2-phase-commit protocol)
一、协议概述两阶段提交协议(2-phase-commit protocol,2PC)可以保证数据的强一致性,许多分布式关系型数据管理系统采用此协议来完成分布式事务。它是协调所有分布式原子事务参与者,并决定提交或回滚的分布式算法。也是解决一致性问题的一致性算法。为了能够使参与者从故障在恢复,采用日志记录协议的状态,虽然使用日志降低了性能但是节点能从故障中恢复。在2PC中,系统一般含两类节点:...
2019-08-08 16:00:24
603
原创 Paxos协议:分布式系统核心算法
Paxos协议是什么?一个可靠的存储系统:基于多数派读写 每个paxos实例用来存储一个值 用2轮RPC(远程调用)来确定一个值 一个值“确定”后不能被修改 “确定”指被多数派接受写入 强一致性Paxos的目的:目的是为了解决分布式环境下一致性的问题。多个节点并发操纵数据,如何保证在读写过程中数据的一致性,并且解决方案要能适应分布式环境下的不可靠性Paxos...
2019-08-08 14:41:25
318
原创 并行数据库 & 分布式数据库
既然决定以后会做与数据相关的研究,就先趁着暑假多了解一点知识!大三下学期刚刚学习了数据库原理!趁热打铁!目前对提高数据库性能和可用性出现了并行数据库和分布式数据库~并行数据库(parallel database):并行数据库是新一代高性能数据库系统,是在大规模并行处理计算机和集群并行计算环境的基础上提出。根据所在的计算机的处理器(Processor)、内存(Memory)及存...
2019-08-08 09:39:22
7191
原创 Mining Precision Interface From Query Logs -- 学习笔记(三)
读完第五部分,全文的重中之重也可以说是学习完毕了。前半部分是对提出的问题的 一个解决方案。接下来,作者要阐述的 是针对这个问题,有没有更进一步的优化方案,使得生成精确界面的成本代价更小。优化也是问题研究中一个很重要的方面,当数据量庞大时,好的算法有时可以降低很大级别数量级的复杂度,提高性能。下面,来读一读作者关于此问题的优化方案:先回顾一下解决问题的步骤:(1)计算出query logs中...
2019-08-08 08:12:29
243
原创 Mining Precision Interface From Query Logs -- 学习笔记(二)
4 交互mining 前面说到解决最终问题的步骤之一:分析日志以识别有意义的结构更改,因为如果单纯用成对AST之间的差异表 会导致不相关的差异,所以并不是所有从logs中分析出的差异对生成精确界面都是有意义的。本节作者提出的 语句以及编写 语句的工具:就是一种可以指定 有意义的结构改变的特定于域的语言。Q1:为什么不使用 来分析所有 中的差异?答:有三个方面:...
2019-08-06 16:20:25
240
原创 Apache Spark概述
MR和Hadoop已被证明是高性能处理海量数据的最佳解决方案。然而,MR在迭代计算中性能不足:多个MR作业之间的输出必须被写入HDFS。在单个MR作业中,因为MR框架存在的一些缺点也存在性能不足。1 Apache Spark是什么?一个快速的企业级大规模数据处理引擎,可以与Apache Hadoop进行互操作 用Scala编写的。Scala是一种兼顾面向对象和函数式的编程语言,在JVM中...
2019-08-05 17:27:10
686
转载 Hadoop 底层原理介绍
1 概述Apache Hadoop是一个软件框架,可在具有数千个节点和PB级数据的大型集群上进行分布式处理。Hadoop主要包含四个项目:Hadoop Common、Hadoop分布式文件系统(HDFS)、YARN(Yet Another Resource Negoiator)、MapReduce。HDFS用于存储数据 MapReduce用于处理数据 YARN用来管理集群的资源(C...
2019-08-05 15:59:37
1067
原创 Mining Precision Interface From Query Logs -- 学习笔记(一)
Mining Precision Interface From Query Logs》是SIGMOD2019所接收到的papers当中的一篇。花了大概4天时间阅读,全英文的paper读起来还是有点吃力的,不过好在大部分还是能看懂。下面写写自己的学习笔记:摘要(Abstract)摘要其实就能概括整个文章所要解决的问题或者提出的一种新技术:可视化交互工具让数据分析越来越有效,并且对普通大众...
2019-08-05 09:59:26
416
原创 牛客 -- leetcode -- max-points-on-a-line
题目描述Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.我的想法:1、算法设计很简单的题目,但是真正用数据结构实现起来却不容易的一道题。2、刚开始考虑分三类进行解决,一类横坐标相同,一类纵坐标相同的点,一类斜率点3、考...
2019-07-29 21:01:55
130
原创 牛客 -- leetcode -- evaluate-reverse-polish-notation
题目描述Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are+,-,*,/. Each operand may be an integer or another expression.Some examples: ["2", "1", "+...
2019-07-29 11:35:52
120
转载 leetcode -- 1105. Filling Bookcase Shelves
We have a sequence of books: the i-th book has thickness books[i][0] and height books[i][1].We want to place these books in order onto bookcase shelves that have total width shelf_width.We choose ...
2019-07-24 14:56:04
162
原创 leetcode -- 309. Best Time to Buy and Sell Stock with Cooldown
Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one ...
2019-07-24 09:50:50
127
原创 牛客网 -- 计算机历年考研复试上机题 -- 手机键盘
题目描述按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在“1”键上,输入a只需要按一次,输入c需要连续按三次。 如果连续两个字符不在同一个按键上,则可直接按,如:ad需要按两下,kz需要按6下 如果连续两字符在同一个按键上,则两个按键之间需要等一段时间,如ac,在按了a之后,需要等一会儿才能按c。 现在假设每按一次需要花费一个时间段,等待时间需要花费两个时间段。 现在给出一串字...
2019-07-18 22:46:05
227
原创 leetcode -- 1091. 二进制矩阵中的最短路径
在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1)。一条从左上角到右下角、长度为 k 的畅通路径,由满足下述条件的单元格 C_1, C_2, ..., C_k 组成: 相邻单元格 C_i 和 C_{i+1} 在八个方向之一上连通(此时,C_i 和 C_{i+1} 不同且共享边或角) C_1 位于 (0, 0)(即,值为 grid[0][0])...
2019-07-09 16:11:52
307
原创 leetcode -- 433. Minimum Genetic Mutation
A gene string can be represented by an 8-character long string, with choices from "A", "C", "G", "T".Suppose we need to investigate about a mutation (mutation from "start" to "end"), where ONE mutat...
2019-07-08 20:20:54
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人