自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 devops运维手册

devops运维devops运维一. 搭建Prometheus安装Prometheus(以下搭建环境都在/usr/local目录下)1. 从 https://prometheus.io/download/ 下载相应版本,安装到服务器上2.查看相应版本,解压即可使用3.后台启动普罗米修斯4.我们把服务以系统管理的方式添加5.启动服务,并且添加到配置文件二.安装Node Exporter1.下载部署2...

2021-01-28 17:41:18 3900

原创 golang跨平台交叉编译

跨平台交叉编译在 Mac、Linux、Windows 下Go交叉编译Go语言支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。需要注意的是我发现golang在支持cgo的时候是没法交叉编译的Mac 下编译 Linux 和 Windows 64位可执行程序CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go buildCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go buildLinux

2021-01-28 15:17:49 2592

原创 Ubuntu下kong postgresql konga安装配置使用

kong postgresql konga安装配置使用postgresql安装配置1下载安装2.配置(1)、安装完后会有PostgreSQL的客户端psql,通过命令进入数据库(2)、修改postgres的密码(3)、修改Linux用户的密码(4)、配置数据库以允许远程连接访问(5)、添加新用户和新数据库kong安装配置1.安装之前先保证如下软件安装2.安装kong3.配置kong连接数据库postgres4.kong停止和启动服务konga安装配置1.更新ubuntu的apt源索引:2.创建docker网

2020-06-11 14:02:21 3175

原创 xxl-job部署文档

xxl-job 系统模块xxl-job-admin:调度中心xxl-job-core:公共依赖xxl-job-executor-samples执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器):xxl-job-executor-sample-jboot:jboot版本,通过jboot管理执行器;部署项目到云服务第一步 修改xxl-jo...

2020-04-12 20:13:36 739

原创 ProtoBuf协议规则

介绍如何使用 protocol buffer 语言来构造 protocol buffer 数据,包括 .proto 文件语法以及如何从 .proto 文件生成数据访问类标题定义一个 Message 类型message SearchRequest { required string query = 1; // 查询字符串 相当于java中的String optional int32 ...

2020-03-04 18:38:00 336

原创 两数之和

题意给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素。例:给定nums = [2,7,11,15],target = 9,因为nums [ 0 ] + nums [ 1 ] = 2 + 7 = 9,返回[ 0,1 ]。思路思路很容易想到,利用HashMap求解key存数value存放数组的下标Ha...

2020-02-02 16:53:58 154 1

原创 三数和为零

题意题意非常的简单 就是给定一个数组找出这个数组中存在的三元数相加为0a+b+c=0思路这道题是双重指针的变形先固定好一个数然后开始利用low和end查询数组中的数就可以找到arr[i]+arr[low]+arr[end]=0直到每个数都被做过固定的数arr[i]寻找遍历结束即可找到存在的组合。暴力求解法就不做介绍了时间复杂度o(N^3)双重指针法首先对数组进行排序 publ...

2020-02-02 16:40:34 171

原创 树的最大深度

题意求解一棵二叉树的最大深度树这一类型的题目都可以考虑递归实现一颗树的深度就等于求解一棵树的左子和右子树的深度加1. public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x;...

2020-02-01 10:19:04 256

原创 请设计一个最小的栈

题意设计一个支持push,pop,top和在恒定时间内检索最小元素的堆栈。push(x) - 将元素x推入堆栈。pop() - 删除堆栈顶部的元素。top() - 获取顶部元素。getMin() - 检索堆栈中的最小元素。思路提供两个栈一个还是存放数另一个存放在栈中的最小值首先考虑push方法当向栈中压入数的时候需要考虑最小栈中的数是否为空是否比栈顶的数大。 /** ...

2020-02-01 10:14:55 148

原创 抢劫房子Rob leetcode原题

题意你是一个专业的强盗,计划在街上抢劫房屋。每个房子都有一定数量的钱存在,阻止你抢劫他们的唯一限制是相邻的房屋有连接的安全系统,如果两个相邻的房子在同一个晚上被打破,它将自动联系警察。给出一个代表每个房子的金额的非负整数列表,确定今晚可以抢劫的最大金额而不警告警察。例1:输入: [1,2,3,1]输出: 4说明: Rob house 1(money = 1)然后抢房子3(钱= 3)。...

2020-02-01 10:03:50 2520

原创 找出数组中出现最多的数字

找出数组中出现最多的数字题意给定大小为n的数组,找到多数元素。多数元素是出现次数多 的元素⌊ n/2 ⌋。您可以假设该数组非空,并且多数元素始终存在于数组中。例1:输入: [3,2,3]输出: 3例2:输入: [2,2,1,1,1,2,2]输出: 2解法第一种方法排序就可以得出答案中位数就可以 public int majorityElement(int[] nu...

2020-02-01 09:45:46 2015 2

原创 括号匹配问题

括号匹配题意由于只包含字符的字符串’(’,’)’,’{’,’}’,’[‘和’]’,确定输入字符串是有效的。如果输入字符串有效:必须使用相同类型的括号关闭左括号。必须以正确的顺序关闭打开括号。请注意,空字符串也被视为有效。思路括号匹配左括号和右括号匹配使用一个HashMap存储键值对和Stack判断。直接看代码吧。解析 /** * 判断括号是否有效 *...

2020-02-01 09:18:27 311

原创 判断一颗树是否是平衡二叉树

题意判断一颗树是否是平衡二叉树首先需要搞清楚什么是平衡二叉树。平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。树形DP法求解定义一个类先创建出结果是否是平衡的和高度为多少? public static class ReturnNode{ public boolean isb; public int h; public Ret...

2020-01-29 17:34:17 151

原创 最大子数组的乘积

题意给定一个数组 求出它的乘积最大的子数组第一种方法:暴力求解法思路:很简单求出每个子数组的乘积取出最大。 /** * 给定一个数组 求出它的乘积最大的子数组 * @param nums * @return */ public static int getMutilMax(int[] nums){ if (nums.le...

2020-01-29 13:35:06 93

原创 最大子数组和

题意给定一个数组 求出数组的最大子数组和 其中包含正,负 和0;第一种方法:暴力求解法很简单把每个子数组的和求出来话不多说看代码。/** * 方法1暴力求解法 把所有的子数组都求解出来O(n2) */ public static int getMaxSubArr(int[] arr){ if (arr.length==0 || arr==null...

2020-01-29 13:26:20 135

原创 字符串的全排列

题意给定一个字符串或数组请打印它们的全排列。第一种方法:暴力求解法递归思路如果给定一个字符串例如abc 先固定a第二个字符可以选择b或者不选择b就产生2种结果字符a或者ab第三个字符可以选择c或者不选择c就产生4种结果总之每个字符都可以选择要还是不要。一直到遍历到字符串的末尾可以参考下图。得出8中结果。代码 public List<List<String>> l...

2020-01-29 13:06:54 90

原创 N的阶乘

题意题意很简单:给定一个数(N>=0)求出N的阶乘N的阶乘为N!=n(n-1)(n-2)…1;*第一种方法:递归求解思路:很容易想出来想要求出N!的阶乘必须求出N-1的阶层以此类推。 public static long getNMulti(int n){ if (n==1) return 1; return n*getNMulti(n-1); ...

2020-01-29 12:01:26 841

原创 给出一组数 找出a+b=c+d的组合

给出一组数 找出a+b=c+d的组合题目给出一组数 找出a+b=c+d的组合思路方法1:蛮力法实现四重遍历法我这里就不展开介绍了时间复杂度为O(N4).下面就看代码实现: public static int getDuplicateNum(int[] arr){ if (arr.length==0) return -1; HashMap<Int...

2019-10-30 15:36:54 268

原创 Git那些骚操作你知道吗?

如果你想要在github上搜索你想要学习的技术、项目等等这些git操作你必须要学会。1.范围搜索公式:xxx关键词 in:name或description 或readme命令:seckill in:name //xxx in:nameseckill in:description //xxx in:description seckill in:readme //xxx ...

2019-10-30 15:18:42 159

原创 Centos7从零搭建JDK,MYSQL,REDIS

首先查看一下Centos7是多少位的查看命令 uname -aPC server X86 系列I386–I686 都是32位x86_64 是 64位查看IP地址不再是ifconfigIP addr搭建JDK64位(32位步骤同样安装包不一样)1、复制安装包到/usr/java目录中(目录可以自己选):cp jdk-8u201-linux-x64.rpm /usr/jav...

2019-10-16 11:02:45 179

原创 Jmeter 建立Http压测

Jmeter 建立Http压测第一步:下载jmeter官网下载官方网站。下载好了直接解压放哪个盘没关系。第二步:启动jmeter找到jmeter解压的bin路径用命令行启动可以更改语言默认是英文的新建一个线程组创建一个默认的http请求参数针对接口http请求进行压测查看结果的测试报告...

2019-10-15 14:20:46 98

原创 单例模式

单例模式的认识单例模式分为两种1.饿汉式;2.懒汉式先介绍一下饿汉式的写法1.静态成员变量package Singleton;/** * 饿汉式的创建对象 缺点 可能导致内存的浪费 */public class hungrySingLeton { public static void main(String[] args) { Sinleton ...

2019-10-13 19:33:50 75

原创 在有序但是含有空的数组中查找字符串

在有序但是含有空的数组中查找字符串题意:在有序但是含有空的数组中查找字符串给定一个字符串数组strs[],在strs中有些为止是null但在不为空的位置上,其字符串是按照字典顺序有小到大依次出现的,在给定一个字符串str请返回str在strs中出现的最左的位置。分析思路这道题目采用二分的方法会比较好一点 如果才有遍历一遍方法当然也能求解这里就不作解释但是时间复杂度二分是更好的选择。怎...

2019-10-13 16:28:45 138

原创 leetcode 567字符串的排列

字符串的排列题意:**给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).示例2:输入: s1= “ab” s2 = “eidboaoo”输出: False注意:...

2019-10-13 13:31:51 137

原创 leetcode 3最长无重复子串

最长无重复子串题意:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最...

2019-10-13 13:26:12 79

原创 leetcode 76最小覆盖子串

最小覆盖子串题意:给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC”说明:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。来源:力扣(LeetCode)链接:https://leetcode...

2019-10-12 17:44:58 96

原创 leetcode 438找到字符串中所有字母异位词(滑动窗口)

找到字符串中所有字母异位词(滑动窗口)题意:给定一个字符串小号和非空字符串p,找到的所有开始指数p中的字谜小号。字符串仅包含小写英文字母,字符串s和p的长度均不得大于20,100。输出顺序无关紧要。范例1:输入:s:“ cbaebabacd” p:“ abc”输出:[0, 6]说明:起始索引= 0的子字符串是“ cba”,它是“ abc”的字形。起始索引= 6的子字符串是“...

2019-10-12 14:46:52 108

原创 lintcode 7 二叉树的序列化和反序列化

二叉树的序列化和反序列化题意:设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构。对二进制树进行反序列化或序列化的方式没有限制,LintCode 将您的 serialize 输出作为 des...

2019-10-07 16:38:23 124

原创 经典快排和随机快排

快速排序经典快排根据荷兰国旗划分数组给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于num的数放在数组的中间,大于num的数放在数组的 右边。,每次划分都拿最后一个数进行划分每次把小于等于num[R]的数放在数组的左半部分,大于num[R]的数放在数组的右半部分。记录等于num[R]的下标。先讲述一下荷兰国旗的问题 public static int[] flag...

2019-10-07 16:09:12 207

原创 leetcode 1046 Last Stone Weight

最后一块石头的重量题意:我们有一个岩石集合,每个岩石都有一个正整数权重。每转一圈,我们选择两个最重的 岩石并将它们粉碎在一起。假设石头有重量x并且y与x <= y。粉碎的结果是:如果x == y,则两块石头都被完全摧毁;如果x != y,重量的石头x被完全破坏了,重量的石头y有了新的重量y-x。最后,最多剩下1块石头。返回此石头的重量(如果没有石头,则返回0。)范例1:输入...

2019-10-06 19:51:42 81

原创 leetcode 179 Largest Number

最大的数题意给定一个非负整数列表,将它们排列为最大的数字。范例1:输入: [10,2]输出: “210"范例2:输入: [3,30,34,5,9]输出: “9534330"解题思路此题本人一看脑海中就想到了贪心法先介绍一下字典序就是说,将多个字符串的同一位置的字符按照26个字母的顺序进行比对。a最小,b最大。a < b;abc >acb; 因为第二位置上,前...

2019-10-06 15:04:37 133

原创 leetcode 88 Merge Sorted Array

合并两个有序数组题意给定两个已排序的整数数组nums1和nums2,将nums2合并为nums1作为一个已排序的数组。注意:在nums1和nums2中初始化的元素数分别为m和n。您可以假设nums1有足够的空间(大小大于或等于m + n)来容纳nums2中的其他元素。例:输入:nums1 = [1,2,3,0,0,0],m = 3nums2 = [2,5,6],n = 3 输出:...

2019-10-06 14:36:36 148 1

原创 leetcode 189 Rotate Array

旋转数组题意:给定一个数组,将数组向右旋转k步,其中 k 为非负数。范例1:输入: [1,2,3,4,5,6,7]和k = 3输出: [5,6,7,1,2,3,4]说明:向右旋转1步:向右[7,1,2,3,4,5,6]旋转2步:向右[6,7,1,2,3,4,5]旋转3步:[5,6,7,1,2,3,4]范例2:输入: [-1,-100,3,99]和k = 2输出: [3,...

2019-10-06 14:26:23 101

原创 leetcode 94 Binary Tree Inorder Traversal

二叉树的先序遍历题意给定一个二叉树,返回其节点值的先序遍历。解题思路后序遍历是二叉树的先左后右再根方法一递归实现:很简单方法二迭代实现:使用辅助栈的结构代码实现递归实现 public List<Integer> res=new ArrayList<>(); public List<Integer> preorderTraversal...

2019-10-06 11:28:42 65

原创 leetcode 739 Daily Temperatures

每日温度题意:给定每日温度列表T,请返回一个列表,以便对于输入中的每一天,告诉您要等到温度升高才需要多少天。如果没有将来的可能,请0改写。例如,给定温度列表T = [73, 74, 75, 71, 69, 72, 76, 73],您的输出应为[1, 1, 4, 2, 1, 1, 0, 0]。解题思路:题意理解就是给定一个数组返回数组中的每个数字代表每日的温度请输出当天还需要过几天能够升温...

2019-10-06 10:47:20 129

原创 leetcode 1 Two Sum

两数相加题意** 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素。例:给定nums = [2,7,11,15],target = 9,因为nums [ 0 ] + nums [ 1 ] = 2 + 7 = 9,返回[ 0,1 ]。**解题思路因为数组是一个无序的数组如果排序的话可以使用双指针也可以做...

2019-10-06 10:14:16 91

原创 leetcode70 爬楼梯

爬楼梯题意 :您正在爬楼梯。它需要n步才能到达顶部。每次您可以爬1或2步。您可以通过几 种不同的方式登顶?注意:给定n将为正整数。思路:方法一:这道题目仔细想想就是斐波那契数列的变种采用递归的方法实现。方法二:采用记忆化搜素的方法实现。方法二:采用动态规划的方法实现。代码解释:1.递归:时间复杂度为O(2^n) 以为每次都需要求解子过程 public int climbS...

2019-10-06 10:01:37 82

原创 一棵完全二叉树的节点总数

一棵完全二叉树的节点总数题意:已知一棵完全二叉树,求其节点的个数要求:时间复杂度低于O(N),N为这棵树的节点个数。公式节点个数=2^n-1思路:如果是一个完全二叉树最左边一定有节点求出二叉树的高度Hpublic static int mostLeftLevel(Node node, int level) { while (node != null) { level++; ...

2019-09-01 15:06:34 1826

原创 翻转数组

翻转数组题目给定一个含有N个数的数组循环向右移K位(k>0) 例如abcd1234–>1234abcd方法一:遍历求解法思路:很容易想到把前面的数向后面移动保存需要移动到前面的数例如:abcd1234->4abcd123while一直循环直到k小于0,时间复杂度为O(N*K)代码实现:/** * 思路:把前面的数向后移位 * @param arr...

2019-08-01 10:57:10 109

原创 走出迷宫

走出迷宫题目一个二维数组里面都是由1和0组成1为可以走的路0为不可以走的路一直老鼠从左上角到达右下角每次只能走一步下和右 找到合适的路径思路方法1:回溯法每走一步验证一下这一步是否可以走定义一个函数public static Boolean isSafe(int maze[][], int x, int y),记录老鼠所走的路径,每一步 public static Boolean ...

2019-08-01 10:36:12 2466

空空如也

空空如也

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

TA关注的人

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