自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TNTZS666的博客

从无能到平庸要比从一流到卓越需要人们付出多得多的努力。

  • 博客(81)
  • 收藏
  • 关注

原创 LeetCode刷题(八)——贪心算法

定义贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。也就是说,不从整体最优上加以考虑,做出的只是在某种意义上的局部最优解。算法思想将求解问题分成若干子问题对每个子问题求解得到子问题的局部最优解将所有局部最优解合并成原问题的一个解贪心算法是一种对某些求最优解问题的更简单、更迅速的设计技术。贪心算法采用自顶向下,以迭代的方法做出

2020-09-05 16:19:29 531

原创 LeetCode刷题(七)——堆

堆的定义堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。这里涉及到一个概念,即完全二叉树。完全二叉树是二叉树的一种特殊的形式,下面是来自百度百科对完全二叉树的释义:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。这里面又涉及到满二叉树的定义:满二叉树就是二叉树每一层的结点个数都达到了最大值, 即第i层上有2

2020-08-23 15:52:34 338

原创 LeetCode刷题(六)——栈

本周刷了leetCode中可以用栈解决的一些题目。在此之前先简单介绍下栈以及栈在java中的一些常用方法。定义栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈是一种先进后出(FILO)的数据结构。java中常见用法1-->p

2020-08-16 17:07:34 242

原创 LeeCode刷题(五)

转眼刷题已经是第五周了,由于平时上班,所以每周刷的题并不多,目前进展如下:emmm,平均一周6,7到题。惭愧惭愧。不过这周做的时候看了一个刷题大佬总结的一些经验,下面是他GitHub的链接:https://github.com/liweiwei1419里面有他刷题的一些经验总结心得。我觉的对刚开始刷题的人来说还是挺有帮助的。就比如我一开始的打算是把热题中的简单难度的都刷完,然后再中等,困难。虽然之前几周也都有总结,但是效果感觉不是很好,比如简单做过的题,中等的遇到类似了还是有点束手无措的感觉。看了大佬

2020-08-09 15:22:53 263

原创 leetCode刷题(四)

无重复字符的最长子串题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/这道题拿到后脑子里想到的只有暴力求解的方法,但显然是不可取的。看了题解之后学到了利用滑动窗口的方法求解。滑动窗口这个词我个人认为名字取的很生动形象。因为窗口我们大家都熟悉,它的大小一般是固定的。滑动窗口的概念在很多算法和应用中都有体现,比如在TCP协议中使用相应的滑动窗口协议实现重传恢复。滑动窗口算法可以用以解决数组

2020-08-02 10:52:14 132

原创 leetCode刷题(三)

热题HOT 100 之简单难度总结经过三个星期的时间,把HOT 100中简单难度的题目刷完了,一共23道。在此将这些题目中经常用到的方法总结一下,为之后刷中等难度的题目做准备。简单的题目目前看下来主要还是考察我们对基本数据结构的一些熟悉程度,并没有涉及到很多算法什么的。其中有与二叉树相关的有4道,链表相关的有5道,还有数组哈希表栈等。只有极少数比如爬楼梯这种题目考察了裴波那契数列这种比较特殊的算法。下面总结一下经常用到的解题方法:快慢指针(双指针)法:涉及到的题目如:移动零,回文链表,相交链表

2020-07-26 21:18:04 154

原创 LeetCode刷题(二)

爬楼梯题目链接:https://leetcode-cn.com/problems/climbing-stairs/很多题目其实都是于生活息息相关的。这道爬楼梯的题目让我发现,看似简单的楼梯,我其实可以一辈子走的方式不重样(从程序运行结果来看,40阶的台阶就有1亿多种走法)这还是每次只能走一或者二阶台阶的前提下。说实话一开始我是不信的,等到我手动写到8阶楼梯有几种走法的时候,我就信了。确实有点多哈哈~这道题其实就是裴波那契数列的实例,斐波那契数列(Fibonacci sequence),又称黄金分割

2020-07-18 16:10:01 155

原创 LeetCode刷题(一)

第一期先刷了几道简单难度的题目练练手,目前来看,简单难度的题目主要是考验我们如何熟练利用一些常见的容器,比如Map,栈等。题目我就不复制了,直接上链接以及我自己AC的代码。简单难度的很多题都是可以通过暴力求解AC,下面的两道题同样可以用暴力求解通过,但是我们可以巧妙的运用一些容器的特性让求解过程的空间或者时间复杂度降低。两数之和https://leetcode-cn.com/problems/two-sum/这道题由于题目中有一个“数组中同一个元素不能使用两遍”的前提,所以我们可以利用哈希map中不

2020-07-12 17:05:04 165

原创 《Hbase原理与实践》阅读笔记(七)

学习笔记(15-16章)1.HBase 2.x核心技术1.1.Procedure1.1.1.Procedure定义1.1.2.Procedure Yield1.2.In Memory Compaction1.2.1.Segment概念1.2.2.开启方式2.高级话题2.1.二级索引2.1.1.优劣比较2.2.HBase开发与测试2.2.1.HBase社区运作机制2.3.HBase相关网站3.总结...

2020-02-09 15:00:54 2457 2

原创 《HBase原理与实践》阅读笔记(六)

学习笔记(13-14章)1.HBase系统调优1.1.HBase-HDFS调优1.2.HBase读写性能调优1.2.1.HBase读取性能优化1.2.2.HBase写入性能优化1.3.HBase操作系统调优1.3.1.swap基本概念1.3.2.THP概念2.HBase运维案例分析2.1.RegionServer宕机2.2.HBase写入异常2.3.HBase运维问题分析思路3.总结本博客内容...

2020-02-08 15:46:08 673

原创 《HBase原理与实践》阅读笔记(五)

学习笔记(1-3章)1.备份与恢复1.1.Snapshot简介1.1.1.常用Snapshot工具1.1.2.Snapshot流程2.HBase运维2.1.HBase系统监控2.2.HBase集群基准性测试2.2.1.使用YCSB进行负载测试2.3.HBase HBCK2.3.1.集群一致性状态2.4.HBase核心参数配置2.4.1.Region相关参数2.4.2.BlockCache相关参数2...

2020-02-07 17:38:02 616

原创 《HBase原理与实践》阅读笔记(四)

学习笔记(9-10章)1.宕机恢复原理1.1.RegionServer宕机异常1.2.Hbase故障恢复1.2.1.Master故障恢复原理1.2.2.RegionServer故障恢复原理及流程2.复制2.1.HBase复制管理流程2.1.1.HBase客户端创建Peer流程2.2.串行复制2.3.同步复制2.3.1.同步复制中集群的四种状态2.3.2.同步复制建立过程3.总结本博客内容基本整...

2020-02-06 15:47:09 667

原创 《HBase原理与实践》阅读笔记(三)

学习笔记(7-8章)1.Compaction实现1.1.Compaction基本工作原理1.1.1.Compaction核心作用1.1.2.Compaction触发时机1.1.3.待合并HFile集合选择策略1.1.4.挑选合适的执行线程池1.1.5.Compaction BandWidth Limit两个重要参数2.Hbase负载均衡2.1.Region迁移2.2.Region合并2.3.Reg...

2020-02-05 15:05:26 941

原创 《HBase原理与实践》阅读笔记(二)

学习笔记(4-6章)1.Hbase客户端1.1.定位Meta表1.1.1.解决热点Region问题1.2.Hbase常见超时参数2.RegionServer核心模块2.1.内部结构2.1.1.HLog2.1.2.MemStore2.1.3.HFile3.Hbase读写流程3.1.Hbase写入流程3.1.1.少量写和批量写3.1.2.MemStore Flush触发条件3.2.Hbase读取流程4...

2020-02-04 15:47:29 979

原创 《HBase原理与实践》阅读笔记

学习笔记一全书概述1.HBase概述1.1.Hbase发展历史1.2.Hbase数据模型1.3.Hbase体系结构1.4.Hbase系统特性2.Hbase基础数据结构与算法2.1.LSM树2.1.1.KeyValue存储格式2.2.跳跃表2.3.布隆过滤器3.Hbase依赖服务3.1.Zookeeper相关3.2.HDFS相关本博客内容基本整理自《Hbase原理与实践》一书。仅用于个人学习和积...

2020-02-03 16:32:45 4011

转载 Top命令详解

转自:https://www.cnblogs.com/dragonsuc/p/5512797.html查看多核CPU命令mpstat -P ALL  和&nb...

2019-10-24 11:14:45 1208

原创 HA集群出现脑裂情况解决方法

最近工作中测试经常反映HA集群环境中出现脑裂情况,在这里总结一下解决方法。脑裂出现原因:查看集群环境压力(CPU历史负载):sar -f /var/log/sa/sa17可以看到环境压力较大,导致集群出现脑裂情况。恢复措施:1.先暂停集群的daemon,hbase,Hadoop服务.dbserver.sh stop_server_all daemon,hadoop,hbas...

2019-10-24 08:54:39 1368 1

原创 Flink基本介绍

Flink通过实现Google Dataflow流式计算模型实现了高吞吐、低延迟、高性能兼具实时流式计算框架。同时Flink支持高度容错的状态管理,防止状态在计算过程中因为系统异常而出现丢失,Flink周期性地通过分布式快照技术Checkpoints实现状态的持久化维护,使得即使在系统停机或者异常的情况下都能计算出正确的结果。Flink的具体优势有以下几点:同时支持高吞吐、低延迟、高性能Fl...

2019-10-12 14:05:25 473

原创 Flink安装教程

1.从官网上下载自己需要的Flink版本Flink官网下载地址:https://flink.apache.org/downloads.html2.上传到Linux后解压必须解压到/usr/local目录下tar -zxf flink-1.9.0-bin-scala_2.11.tgz -C /usr/local3.启动Flink进入bin目录下执行如下命令:./start-clust...

2019-10-11 16:22:35 593

原创 HA集群修改虚IP后原先的虚IP地址仍能连接问题

最近在工作中碰到测试在修改了HA集群的虚IP地址后发现仍能继续连上之前的虚IP。网上查看虚IP的原理后得知其实现原理主要是靠TCP/IP的ARP协议。因为ip地址只是一个逻辑地址,在以太网中MAC地址才是真正用来进行数据传输的物理地址,每台主机中都有一个ARP高速缓存,存储同一个网络内的IP地址与MAC地址的对应关系,以太网中的主机发送数据时会先从这个缓存中查询目标IP对应的MAC地址,会向这个...

2019-10-09 19:42:10 437

原创 Datawhale-爬虫-Task7(实战大项目)

实战大项目模拟登录丁香园,并抓取论坛所有的人员的基本信息与回复帖子的内容。丁香园论坛:论坛登录链接首先使用Selenium模拟登录丁香园论坛。这里模拟点击登录后若要使用账号密码登录还需要模拟点击返回电脑登录登录代码如下:def login_zhihu(browser): try: #点击登录 browser.find_element_by_x...

2019-03-07 20:36:33 414

原创 Datawhale-爬虫-Task6(学习IP相关知识)

学习内容什么是IP(Internet Protocol)定义基本原理IP地址IP封锁定义IP被封的原因如何应对IP被封案例:抓取西刺代理,并构建自己的代理池。什么是IP(Internet Protocol)定义互联网协议地址(Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address),是分配给用户上网使用的网际协议(IP)的设备的数字标签...

2019-03-06 17:20:12 488

原创 Datawhale-爬虫-Task5(selenium学习)

学习内容selenium简介什么是Selenium?如何下载selenium实例:使用selenium模拟登陆163邮箱。selenium简介什么是Selenium?Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一。它最初由Jason Huggins于2004年开发,作为Thought Works的内部工具。 Selenium支持跨不同浏览器,平台和编程语言的自...

2019-03-05 16:03:48 414

原创 Datawhale-爬虫-Task4(学习xpath)

学习内容XPath简介lxml简介实例:使用xpath提取丁香园论坛的回复内容。XPath简介XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。什么是XPath?XPath 使用路径表达式在 XML 文档中进行导航XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到...

2019-03-04 19:12:24 379

原创 Datawhale-MySQL-任务六(复杂项目)

项目列表项目十:行程和用户(难度:困难)项目十一:各部门前3高工资的员工(难度:中等)项目十二:分数排名(难度:中等)项目十:行程和用户(难度:困难)Trips 表中存所有出租车的行程信息。每段行程有唯一键 Id,Client_Id 和 Driver_Id 是 Users 表中 Users_Id 的外键。Status 是枚举类型,枚举成员为 (‘completed’, ‘cancelled_b...

2019-03-04 12:29:28 441

原创 Datawhale-爬虫-Task3(beautifulsoup)

Beautiful SoupBeautiful Soup是一个非常流行的Python模块。该模块可以解析网页,并提供定位内容的便捷接口。使用Beautiful Soup的第一步是将已下载的HTML内容解析为soup文档。由于大多数网页都不具备良好的HTML格式,因此Beautiful Soup需要对其实际格式进行确定。例如,在下面这个简单的网页列表中,存在属性值两侧引号缺失和标签未闭合的...

2019-03-03 21:39:31 244

原创 Datawhale-MySQL-任务五

学习内容数据导入导出将Excel文件导入MySQL表MySQL导出表到Excel文件作业项目七:各部门工资最高的员工(难度:中等)项目八: 换座位(难度:中等)项目九: 分数排名(难度:中等)数据导入导出将Excel文件导入MySQL表首先根据我们需要的字段在MySQL中创建出表employees在可视化界面Navicat for MySQL中操作,鼠标右键点击我们创建的表,选择导入...

2019-03-03 13:24:10 389

原创 Datawhale-爬虫-Task2(正则表达式)

学习内容什么是正则表达式案例什么是正则表达式定义:一套规则,可以在字符串文本中进行搜查替换等使用步骤:1.使用 compile() 函数将正则表达式的字符串编译成一个 pattern 对象2.通过 pattern 对象的一些方法对文本进行匹配,匹配结果是一个 match对象3.用 match 对象的方法,对结果进行操作常用方法:match:从开始位置开始查找,一次匹配,即...

2019-03-02 20:43:59 433

原创 Datawhale-MySQL-任务四(表联结)

学习内容MySQL别名INNER JOINLEFT JOINCROSS JOIN自连接UNION区别作业项目五:组合两张表 (难度:简单)项目六:删除重复的邮箱(难度:简单)MySQL别名为表取别名:查询数据时,如果表名很长,使用起来不方便,此时,就可以为表取一个别名,用这个别名来代替表的名称SELECT * FROM 表名 [AS] 别名;为字段取别名:在查询数据时,为了使显示的查询结...

2019-03-02 12:08:31 334

原创 Datawhale-爬虫-Task1(学习get与post请求)

学习内容Get与Post请求requests库和urllib库的区别断网后发出申请的结果申请返回的状态码分类状态码列表什么是请求头,如何添加请求头定义使用requests库添加请求头Get与Post请求本质: get和post本质上都是TCP链接,并无差别,只是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。Get产生一个TCP数据包;Post产生两个TCP数据...

2019-03-01 20:34:08 329

原创 Datawhale-MySQL-任务三

学习内容1.MySQL表数据类型:2.用SQL语句创建表创建方式:设定列类型,大小,约束设定主键3.用SQL语句向表中添加数据语句解释多种添加方式(指定列名;不指定列名)4.用SQL语句删除表DELETEDROPTRUNCATE不同方式的区别5.用SQL语句修改表修改列名修改表中数据删除行新建列新建行6.作业项目三项目四1.MySQL表数据类型:MySQL中定义数据字段的类型对你数据库的优化...

2019-03-01 16:35:45 303

原创 Datawhale-MySQL-任务二

文章目录1.导入示例数据库2.SQL是什么,MySQL是什么?3.查询语句(select from)4.筛选语句(where)5.分组语句(group by)6.排序语句(order by)7.函数8.SQL注释9.SQL代码规范10.作业1.导入示例数据库使用命令行导入: 教程 MySQL导入示例数据库 - MySQL教程™使用Navicat for MySQL可视化操作导入:在数...

2019-02-27 14:49:12 332

原创 数据库安装以及基础知识

数据库安装以及服务器设置:安装教程链接:MySQL安装 | 菜鸟教程 使用图形界面软件Navicat for MySQL时遇到的一点小问题:由于自己之前以及安装过mysql,所以在Navicat for MySQL设置连接的时候密码应该是之前设置mysql的密码,而不是重新再设置。因为同一台电脑上的mysql是共用的。数据库基础知识:数据库定义:数据库是一个以某种有组织的方式存储的数...

2019-02-26 11:17:08 237

原创 PAT1044火星数字(java实现)

题目描述:火星人是以 13 进制计数的:地球人的 0 被火星人称为 tret。地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。火星人将进位以后的 12 个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, m...

2019-02-25 11:40:22 876

原创 PAT1029 旧键盘(java实现)

题目描述:旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。输出格式...

2019-01-30 15:32:43 404

原创 PAT1019 数字黑洞(java实现)

题目描述:给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 9621962...

2019-01-29 16:39:11 713 2

原创 PAT1004成绩排名(java实现)

题目描述:读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个...

2019-01-27 11:52:35 927

原创 PAT1078字符串压缩与解压(java实现)

题目描述:文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。 解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。 本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原...

2019-01-24 22:16:25 437

原创 PAT1077互评成绩计算(java实现)

题目描述:在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G​1;老师给这个组的评分记为 G​2。该组得分为 (G1+G2)/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。输入格式:...

2019-01-23 21:32:39 449

原创 PAT1048数字加密(java实现)

题目描述:本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依次给出 A 和...

2019-01-20 22:54:14 627

空空如也

空空如也

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

TA关注的人

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