自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Prometheus & Grafana

普罗米修斯 Prometheus介绍#Prometheus是一个时间序列数据库。但是,它不仅仅是一个时间序列数据库。#它涵盖了可以绑定的整个生态系统工具集及其功能。Prometheus主要用于对基础设施的监控。包括服务器,数据库,VPS,几乎所有东西都可以通过Prometheus进行监控。Prometheus希望通过Prometheus配置中定义的某些端点执行的HTTP调用来检索度量标准。工作流程Prometheus server 定期从配置好的 jobs 或者 exporters 中拉 m

2021-04-18 15:35:46 8

原创 【每日一题】二叉搜索树节点最小距离

783. 二叉搜索树节点最小距离给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。注意:本题与 530:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/ 相同示例 1:输入:root = [4,2,6,1,3]输出:1示例 2:输入:root = [1,0,48,null,null,12,49]输出:1class Solution { //DFS Tr

2021-04-18 15:16:52 5

原创 题霸

NC119最小的K个数题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。示例1输入[4,5,1,6,2,7,3,8],4返回值[1,2,3,4] public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) { ArrayList<Integer> result = new ArrayList&

2021-04-18 15:10:26 6

原创 【每日一题】最大数

179. 最大数给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例 1:输入:nums = [10,2]输出:"210"示例 2:输入:nums = [3,30,34,5,9]输出:"9534330"示例 3:输入:nums = [1]输出:"1"示例 4:输入:nums = [10]输出:"10&quot

2021-04-13 10:17:06 14

原创 数据库与缓存双写一致性

数据库与缓存双写一致性背景#首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。#但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。策略#先做一个说明,从理论上来说,给缓存设置过期时间,是保证最终一致性的解决方案。#这种方案下,我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操

2021-04-10 10:45:21 20

原创 mysql元数据解析hive表结构

1.mysql表中元数据dbs表CREATE TABLE `dbs` ( `DB_ID` bigint(20) NOT NULL, `DESC` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, `DB_LOCATION_URI` varchar(4000) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, `NAME` varchar(128) CH

2021-04-10 10:41:54 21

原创 讨论类算法

讨论类#一个1G的空间,有 8*1024*1024*1024=8.58*10^9bit,也就是可以表示85亿个不同的数没出现的数#40亿个非负整数中找到没出现的数,假设内存限制1GB分析:40亿 4B整数 需要16GB内存方案一:设置一个40亿bit的数组 8个bit为1B 也就是500M 标记每个数字出现为1 最后找为0的方案二:如果内存限制为10MB 将40亿划分为64个区间 统计区间数据个数 如果少于区间差数 再将这个区间划分 最后求结果出现两次#40

2021-04-10 10:17:30 18

原创 技巧类算法

技巧类Manacher//最长回文子串//方式一:暴力解法public String longestPalindrome(String s) { if(s.length() < 2) return s; int maxLen = 1; int begin = 0; char[] charArray = s.toCharArray(); for(int i = 0;i< s.length()-1;i++){ for(int j = i

2021-04-10 10:16:56 13

原创 设计类算法

设计类三合一面试题 03.01. 三合一三合一。描述如何只用一个数组来实现三个栈。你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。stackNum表示栈下标,value表示压入的值。构造函数会传入一个stackSize参数,代表每个栈的大小。示例1: 输入:["TripleInOne", "push", "push", "pop", "pop", "pop", "isEmpty"][[1

2021-04-10 10:15:41 12

原创 数学专题

十六进制魔术数字1271. 十六进制魔术数字你有一个十进制数字,请按照此规则将它变成「十六进制魔术数字」:首先将它变成字母大写的十六进制字符串,然后将所有的数字 0 变成字母 O ,将数字 1 变成字母 I 。如果一个数字在转换后只包含 {"A", "B", "C", "D", "E", "F", "I", "O"} ,那么我们就认为这个转换是有效的。给你一个字符串 num ,它表示一个十进制数 N,如果它的十六进制魔术数字转换是有效的,请返回转换后的结果,否则返回 "ERROR" 。示例 1:

2021-04-03 12:59:58 11

原创 kerberos

kerberos通俗解释介绍Kerberos是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务,该认证过程的实现不依赖于主机操作系统认证,需要基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下,Kerberos作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。组件• Client• Server• KDC(Key Distribution C

2021-04-03 11:07:18 22

原创 大数据架构

大数据常用的架构随着多年的大数据的技术发展和积累,越来越多的人发现各个公司所使用的大数据技术大致可以分为两大类,分别是离线处理技术和实时处理技术,要么个别公司只有离线处理技术,要么个别公司只有实时处理技术,但是绝大部分公司基本上都是两种技术架构都带着一起在做,以为我们的业务lambda架构基本介绍业务系统基本流程介绍lambda架构基本介绍lambda架构最早是由storm的创始人,Nathan Marz进行提出并描述了我们目前所了解的lambda架构,其实lamda架构先入为主,已经适用在了绝

2021-03-16 10:27:25 73 1

原创

堆堆框架#二叉堆(本质是一个完全二叉树)- 最大堆- 最小堆#二叉堆的操作:- 插入节点 插入节点在完全二叉树的最后一个位置,不断“上浮”节点调整堆,复杂度为O(logn)- 删除节点 删除堆顶节点,把最后一个节点值补到堆顶,然后不断“下沉”操作,复杂度为O(logn)- 构建二叉堆 把无序的完全二叉树调整为二叉堆,本质就是让所有非叶子节点依次“下沉”,从最后一个非叶子节点开始,进行“下沉”操作,复杂度为O(n)#二叉堆虽然是一个完全二叉树,但是它的存储方式并不是链式存

2021-02-24 09:38:51 41

原创 python自学记录

python基础jupyter使用#注意:1.添加虚拟环境,conda create --name python34 python=3.42.切换环境,启用Anaconda Prompt,activate python342.克隆环境,conda create --name [虚拟环境名] -- clone [colne的环境]3.卸载环境,conda remove --name python34 --all4.安装包,pip install requests5.卸载包,pip u

2021-01-28 16:17:50 59

原创 三维形体投影

三维形体投影面积883. 三维形体投影面积在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。现在,我们查看这些立方体在 xy、yz 和 zx 平面上的投影。投影就像影子,将三维形体映射到一个二维平面上。在这里,从顶部、前面和侧面看立方体时,我们会看到“影子”。返回所有三个投影的总面积。示例 1:输入:[[2]]输出:5示例 2:输入:[[1,2].

2020-12-29 17:18:54 82

原创 多米诺骨牌问题

现有n块”多米诺骨牌”s1,s2,s3,…sn水平放成一排,每次骨牌si包含左右两个部分,每个部分赋予一个非负整数值,如下图所示为包含6块骨牌的序列.骨牌可做180度旋转,使得原来在左边的值变到右边,而原来右边的值移到左边,假设不论si如何旋转,L[i]总是存储si左边的值, R[i]总是存储si右边的值, W[i]用于存储si的状态:当L[i]<=R[i]时记为0,否则记为1,试采用动态规划算法设计时间复杂度为o(n)的算法参考博客:https://blog.csdn.net/duguduc.

2020-11-27 16:49:24 153

原创 合并k个升序链表

合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入: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//方式一:分别比较k个链表pub.

2020-10-24 23:28:25 86

原创 有序数组的平方

//给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。//比如输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100]分析:也就是数组原先是增序排列,但是有负数,需要计算他们的平方然后重新排序。//最容易的方式,利用Arrays的sort方法//直接排序的方式public int[] sortedSquares(int[] A) { int[] result = new int[A.length]; int .

2020-10-18 11:47:51 112

原创 数学专题

数学寻找缺失的整数需求:在一个无序数组里有99个不重复的正整数,范围是1~100,唯独缺 少1个1~100中的整数。如何找出这个缺失的整数?解法一:Hash表- 创建一个哈希表,以1到100这100个整数为Key。然后遍历整个数组,每读到一个整数,就定位到哈希表中对应的Key,然后删除这个Key。- 由于数组中缺少1个整数,哈希表最终一定会有99个Key被删除,从而剩下1个唯一的Key。这个剩下的Key就是那个缺失的整数。 - 假设数组长度是n,那么该解法的时间复杂度是O(n),空间复杂度是O(

2020-09-22 23:35:05 75

原创 字符串专题

报数public static String countAndSay(int n) { if (n == 1) { return "1"; } //递归调用,然后对字符串处理 String str = countAndSay(n - 1) + "*";//为了str末尾的标记,方便循环读数 char[] c = str.toCharArray(); int count = 1; StringBuilder s = new StringBuilder.

2020-08-31 09:10:37 99

原创 链表专题

链表专题链表翻转//递归链表反转public ListNode reverseList(ListNode head) { if(head == null || head.next == null) return head; ListNode last = reverseList(head.next); head.next.next = head; head.next = null; return last; }

2020-07-28 00:17:14 121

原创 排序专题

排序算法的时间复杂度:【O(nn)选择、冒泡、插入】【O(NlogN)快速、归并、堆、希尔】【O(N)计数、基数】排序算法空间复杂度:【O(1)选择、冒泡、插入、堆、希尔】【O(logN)~O(N)快速排序 O(N)归并排序】【O(M)计数、基数(M为桶的数量)】排序算法稳定性:选择排序(不稳定),冒泡排序(稳定),插入排序(稳定),快速排序(不稳定),归并排序(稳定),堆排序(不稳定),希尔排序(不稳定),桶排序(稳定),计数排序(稳定),基数排序(稳定)稳定性的意义:在具体的业务场景中,需要保.

2020-06-20 14:07:28 178

原创 数组专题

1、二维数组中的查找// 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 public boolean Find(int target, int[][] array) { int i = 0; int j ...

2020-04-22 11:19:10 199

原创 设计模式概述——测试群发

1、设计模式问题以及目的程序员编写软件过程中,面临 耦合性、内聚性以及可维护性,可扩展性,重用性,灵活性等问题,设计模式就是为了让程序有更好的:1) ==代码重用性==(即:相同功能的代码,不用多次编写)2) ==可读性== (即:编程规范性, 便于其他程序员的阅读和理解)3) ==可扩展性== (即:当需要增加新的功能时,非常的方便,称为可维护)4) ==可靠性== (即:当我们增...

2020-03-17 22:38:02 799

原创 scala理解可变与不可变

我们定义变量的时候分为var可变变量和val不可变变量。我们使用容器的时候也分为可变容器和不可变容器。List和Tuple本身就是不可变的,set和map分为可变和不可变的,默认为不可变。//不报错var list = scala.collection.immutable.List(“Hello”,“World”);list += “Scala”;//报错val list = ...

2020-03-05 17:38:11 354 4

原创 泛型

泛型好处:1.可以统一数据类型,便于操作。2.将运行时的异常提前到了编译时,提高了效率。3.避免了强制类型转换4.实现代码的模板化,把数据类型当作参数传递,提高了可重用性。泛型种类:E:元素(Element),多用于java集合框架K:关键字(Key)N:数字(Number)T:类型(Type)V:值(Value)使用注意点:泛型类可能有多个参数,此时应将多个参...

2020-02-28 21:12:47 104

原创 solidity

1、stringpragma solidity ^0.4.0;contract StringTest{ string name = "xms"; function getName() public view returns(string){ return name; } function setName(string _name) publi...

2020-01-31 01:53:51 241

原创 shell

1.1、变量:解析器:/bin/bash #! /bin/bash变量:A=5 echo $A export A 提升为全局变量$n $0 脚本名称 $1-$9代表第一个到第九个参数$# 获取所有输入参数个数$* 命令行中所有的参数,把命令行看成一个整体$@ 命令行中所有参数,不过每个参数区分开来$? 最后一次...

2019-12-28 08:49:40 118

原创 socket

socket聊天服务端package com.epoint.proxy;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class TCPTra...

2019-11-26 23:57:29 77

原创 稀疏数组

稀疏数组代码实现package com.atguigu.sparsearray;public class SparseArray { public static void main(String[] args) { // 创建一个原始的二维数组 11 * 11 // 0: 表示没有棋子, 1 表示 黑子 2 表蓝子 int chessArr1[][] = new in...

2019-10-24 08:45:39 93

原创 数据结构五:反转列表 合并列表

//反转列表 //输入一个链表,反转链表后,输出新链表的表头。//思路://本题的关键就是在于对next域的赋值,同时对下一个节点进行保存,然后对把下一个节点赋给新的节点,这样依次循环完所有的节点。每次使新插入的节点变成头第一个有效节点package nowcoder.offer.cn;/** * @author xumaosheng * @date 2019/9/9 23:05...

2019-09-28 21:46:55 141

原创 数据结构四:数组奇数在偶数前 Fibonacci数列

//调整数组顺序使奇数位于偶数前面//输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。//思路: //两次遍历,第一次把奇数加到list中,第二次把偶数加到list中,时间复杂度为O(n)。//利用类似于插入排序的方法,但时间复杂度为O(n^2)。package no...

2019-09-28 21:44:01 167

原创 数据结构三:变态跳台阶 矩阵覆盖

//变态跳台阶 //一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。//思路: // 0:0 // 1:(1) // 2:(1,1)(2) // 3:(1,1,1)(2,1)(1,2)(3)// 4:(1,1,1,1)(2,1,1)(1,2,1)(3,1)(1,1,2)(1,3)(2,2)(4) // //显...

2019-09-28 21:39:35 116

原创 数据结构二:两个栈描述队列 跳台阶

//用两个栈实现队列 //用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。//思路 // 进栈: // 直接进stack1 // 出栈: // 若stack2不为空,则出栈。 //否则,当stack1不为空时,将stack1中的元素依次出栈并压人stack2中。最后,弹出stack2的栈顶元素。package nowcoder.o...

2019-09-28 21:38:00 100

原创 数据结构一:二维数组 字符串替换 链表

1、题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { public boolean Find(int target, int [][] array) { for(int i ...

2019-08-19 18:33:34 293 2

原创 常用代码块

更换jdk版本:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3....

2019-07-28 23:16:59 110

原创 反转列表

package com.epoint.bigdata;import java.util.LinkedList;import java.util.List;public class ReverseList { public static void main(String[] args) { LinkList linkList = new LinkList(); linkList....

2019-06-09 02:02:23 572 1

原创 倒水

package com.epoint.bigdata;import java.util.ArrayList;import java.util.List;public class PullWater { private List<List<Integer>> histories = new ArrayList<List<Integer>>...

2019-06-09 02:01:58 215

原创 过河

package com.epoint.bigdata;import java.util.ArrayList;import java.util.List;import java.util.Set;import java.util.TreeSet;public class PathRiver { Dual carryingSchema[]; // 小船可提供的载人方案 Dual in...

2019-06-09 02:01:29 174

原创 数独

package com.epoint.bigdata;import java.util.*;public class CalcShuDu { public static void main(String[] args) { // 生成候选数字表,9行9列,每个格子有9个数字 int[][][] candi = new int[9][9][9]; // 初始化候选数字表 f...

2019-06-09 02:01:09 368

presto集成到ambari

presto集成到hdp的操作使用文档,详细描述操作过程,亲测可用

2019-02-23

livy-0.5.0-incubating-bin.zip

livy安装包,亲测可用,通过livy来发任务到spark进行执行,更加方便了对spark的操作

2019-02-23

phoenix连接hbase驱动包

phoenix连接hbase驱动包,小文件,供大家下载,实现sql操作hbase,简单方便快捷

2018-07-31

flume+kafka+sparkstreaming

通过flume监控文件,让kafka消费flume数据,再将sparkstreaming连接kafka作为消费者进行数据处理,文档整理实现

2019-02-23

presto-cli-0.191-executable.jar

presto集成到hdp需要下载的包,亲测,已集成成功,并正常使用。

2019-02-23

livy-rsc-0.5.0-incubating.jar

livy安装过程需要的包,进行替换livy部署包中jars中的对应的jar包

2019-02-23

徐茂盛的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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