- 博客(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
4229
原创 golang跨平台交叉编译
跨平台交叉编译 在 Mac、Linux、Windows 下Go交叉编译 Go语言支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。 需要注意的是我发现golang在支持cgo的时候是没法交叉编译的 Mac 下编译 Linux 和 Windows 64位可执行程序 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build Linux
2021-01-28 15:17:49
2746
原创 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
3499
原创 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
932
原创 ProtoBuf协议规则
介绍如何使用 protocol buffer 语言来构造 protocol buffer 数据,包括 .proto 文件语法以及如何从 .proto 文件生成数据访问类 标题定义一个 Message 类型 message SearchRequest { required string query = 1; // 查询字符串 相当于java中的String optional int32 ...
2020-03-04 18:38:00
444
原创 两数之和
题意 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素。 例: 给定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
211
1
原创 三数和为零
题意 题意非常的简单 就是给定一个数组找出这个数组中存在的三元数相加为0 a+b+c=0 思路 这道题是双重指针的变形先固定好一个数然后开始利用low和end查询数组中的数 就可以找到arr[i]+arr[low]+arr[end]=0直到每个数都被做过固定的数arr[i]寻找遍历结束即可找到存在的组合。 暴力求解法就不做介绍了时间复杂度o(N^3) 双重指针法 首先对数组进行排序 publ...
2020-02-02 16:40:34
226
原创 树的最大深度
题意 求解一棵二叉树的最大深度树这一类型的题目都可以考虑递归实现一颗树的深度就等于求解一棵树的左子和右子树的深度加1. public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; ...
2020-02-01 10:19:04
332
原创 请设计一个最小的栈
题意 设计一个支持push,pop,top和在恒定时间内检索最小元素的堆栈。 push(x) - 将元素x推入堆栈。 pop() - 删除堆栈顶部的元素。 top() - 获取顶部元素。 getMin() - 检索堆栈中的最小元素。 思路 提供两个栈一个还是存放数另一个存放在栈中的最小值 首先考虑push方法 当向栈中压入数的时候需要考虑最小栈中的数是否为空是否比栈顶的数大。 /** ...
2020-02-01 10:14:55
210
原创 抢劫房子Rob leetcode原题
题意 你是一个专业的强盗,计划在街上抢劫房屋。每个房子都有一定数量的钱存在,阻止你抢劫他们的唯一限制是相邻的房屋有连接的安全系统,如果两个相邻的房子在同一个晚上被打破,它将自动联系警察。 给出一个代表每个房子的金额的非负整数列表,确定今晚可以抢劫的最大金额而不警告警察。 例1: 输入: [1,2,3,1] 输出: 4 说明: Rob house 1(money = 1)然后抢房子3(钱= 3)。...
2020-02-01 10:03:50
2592
原创 找出数组中出现最多的数字
找出数组中出现最多的数字 题意 给定大小为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
2220
2
原创 括号匹配问题
括号匹配 题意 由于只包含字符的字符串’(’,’)’,’{’,’}’,’[‘和’]’,确定输入字符串是有效的。 如果输入字符串有效: 必须使用相同类型的括号关闭左括号。 必须以正确的顺序关闭打开括号。 请注意,空字符串也被视为有效。 思路 括号匹配左括号和右括号匹配使用一个HashMap存储键值对和Stack判断。 直接看代码吧。 解析 /** * 判断括号是否有效 *...
2020-02-01 09:18:27
384
原创 判断一颗树是否是平衡二叉树
题意 判断一颗树是否是平衡二叉树 首先需要搞清楚什么是平衡二叉树。平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 树形DP法求解 定义一个类先创建出结果是否是平衡的和高度为多少? public static class ReturnNode{ public boolean isb; public int h; public Ret...
2020-01-29 17:34:17
239
原创 最大子数组的乘积
题意 给定一个数组 求出它的乘积最大的子数组 第一种方法:暴力求解法 思路:很简单求出每个子数组的乘积取出最大。 /** * 给定一个数组 求出它的乘积最大的子数组 * @param nums * @return */ public static int getMutilMax(int[] nums){ if (nums.le...
2020-01-29 13:35:06
149
原创 最大子数组和
题意 给定一个数组 求出数组的最大子数组和 其中包含正,负 和0; 第一种方法:暴力求解法 很简单把每个子数组的和求出来话不多说看代码。 /** * 方法1暴力求解法 把所有的子数组都求解出来O(n2) */ public static int getMaxSubArr(int[] arr){ if (arr.length==0 || arr==null...
2020-01-29 13:26:20
209
原创 字符串的全排列
题意 给定一个字符串或数组请打印它们的全排列。 第一种方法:暴力求解法递归 思路如果给定一个字符串例如abc 先固定a第二个字符可以选择b或者不选择b就产生2种结果字符a或者ab第三个字符可以选择c或者不选择c就产生4种结果总之每个字符都可以选择要还是不要。一直到遍历到字符串的末尾可以参考下图。得出8中结果。 代码 public List<List<String>> l...
2020-01-29 13:06:54
146
原创 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
1121
原创 给出一组数 找出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
363
原创 Git那些骚操作你知道吗?
如果你想要在github上搜索你想要学习的技术、项目等等 这些git操作你必须要学会。 1.范围搜索 公式:xxx关键词 in:name或description 或readme 命令: seckill in:name //xxx in:name seckill in:description //xxx in:description seckill in:readme //xxx ...
2019-10-30 15:18:42
240
原创 Centos7从零搭建JDK,MYSQL,REDIS
首先查看一下Centos7是多少位的 查看命令 uname -a PC server X86 系列 I386–I686 都是32位 x86_64 是 64位 查看IP地址 不再是ifconfig IP addr 搭建JDK64位(32位步骤同样安装包不一样) 1、复制安装包到/usr/java目录中(目录可以自己选): cp jdk-8u201-linux-x64.rpm /usr/jav...
2019-10-16 11:02:45
243
原创 Jmeter 建立Http压测
Jmeter 建立Http压测 第一步:下载jmeter 官网下载官方网站。 下载好了直接解压放哪个盘没关系。 第二步:启动jmeter 找到jmeter解压的bin路径用命令行启动 可以更改语言默认是英文的 新建一个线程组 创建一个默认的http请求参数 针对接口http请求进行压测 查看结果的测试报告 ...
2019-10-15 14:20:46
142
原创 单例模式
单例模式的认识 单例模式分为两种1.饿汉式;2.懒汉式 先介绍一下饿汉式的写法 1.静态成员变量 package Singleton; /** * 饿汉式的创建对象 缺点 可能导致内存的浪费 */ public class hungrySingLeton { public static void main(String[] args) { Sinleton ...
2019-10-13 19:33:50
122
原创 在有序但是含有空的数组中查找字符串
在有序但是含有空的数组中查找字符串 题意: 在有序但是含有空的数组中查找字符串 给定一个字符串数组strs[],在strs中有些为止是null但在不为空的位置上,其字符串是按照字典顺序有小到大依次出现的, 在给定一个字符串str请返回str在strs中出现的最左的位置。 分析思路 这道题目采用二分的方法会比较好一点 如果才有遍历一遍方法当然也能求解这里就不作解释但是时间复杂度二分是更好的选择。 怎...
2019-10-13 16:28:45
220
原创 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
196
原创 leetcode 3最长无重复子串
最长无重复子串 题意: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最...
2019-10-13 13:26:12
124
原创 leetcode 76最小覆盖子串
最小覆盖子串 题意: 给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。 示例: 输入: S = “ADOBECODEBANC”, T = “ABC” 输出: “BANC” 说明: 如果 S 中不存这样的子串,则返回空字符串 “”。 如果 S 中存在这样的子串,我们保证它是唯一的答案。 来源:力扣(LeetCode) 链接:https://leetcode...
2019-10-12 17:44:58
156
原创 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
160
原创 lintcode 7 二叉树的序列化和反序列化
二叉树的序列化和反序列化 题意: 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构。 对二进制树进行反序列化或序列化的方式没有限制,LintCode 将您的 serialize 输出作为 des...
2019-10-07 16:38:23
185
原创 经典快排和随机快排
快速排序 经典快排根据荷兰国旗划分数组给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于num的数放在数组的中间,大于num的数放在数组的 右边。,每次划分都拿最后一个数进行划分每次把小于等于num[R]的数放在数组的左半部分,大于num[R]的数放在数组的右半部分。记录等于num[R]的下标。 先讲述一下荷兰国旗的问题 public static int[] flag...
2019-10-07 16:09:12
262
原创 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
136
原创 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
195
原创 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 = 3 nums2 = [2,5,6],n = 3 输出:...
2019-10-06 14:36:36
213
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
195
原创 leetcode 94 Binary Tree Inorder Traversal
二叉树的先序遍历 题意 给定一个二叉树,返回其节点值的先序遍历。 解题思路 后序遍历是二叉树的先左后右再根 方法一递归实现:很简单 方法二迭代实现:使用辅助栈的结构 代码实现 递归实现 public List<Integer> res=new ArrayList<>(); public List<Integer> preorderTraversal...
2019-10-06 11:28:42
115
原创 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
195
原创 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
136
原创 leetcode70 爬楼梯
爬楼梯 题意 : 您正在爬楼梯。它需要n步才能到达顶部。每次您可以爬1或2步。您可以通过几 种不同的方式登顶? 注意:给定n将为正整数。 思路: 方法一:这道题目仔细想想就是斐波那契数列的变种采用递归的方法实现。 方法二:采用记忆化搜素的方法实现。 方法二:采用动态规划的方法实现。 代码解释: 1.递归: 时间复杂度为O(2^n) 以为每次都需要求解子过程 public int climbS...
2019-10-06 10:01:37
135
原创 一棵完全二叉树的节点总数
一棵完全二叉树的节点总数 题意:已知一棵完全二叉树,求其节点的个数 要求:时间复杂度低于O(N),N为这棵树的节点个数。 公式节点个数=2^n-1 思路: 如果是一个完全二叉树最左边一定有节点求出二叉树的高度H public static int mostLeftLevel(Node node, int level) { while (node != null) { level++; ...
2019-09-01 15:06:34
1902
原创 翻转数组
翻转数组 题目 给定一个含有N个数的数组循环向右移K位(k>0) 例如abcd1234–>1234abcd 方法一:遍历求解法 思路:很容易想到把前面的数向后面移动保存需要移动到前面的数例如:abcd1234->4abcd123while一直循环直到k小于0,时间复杂度为O(N*K) 代码实现: /** * 思路:把前面的数向后移位 * @param arr ...
2019-08-01 10:57:10
165
原创 走出迷宫
走出迷宫 题目 一个二维数组里面都是由1和0组成1为可以走的路0为不可以走的路一直老鼠从左上角到达右下角每次只能走一步下和右 找到合适的路径 思路 方法1:回溯法 每走一步验证一下这一步是否可以走定义一个函数public static Boolean isSafe(int maze[][], int x, int y),记录老鼠所走的路径,每一步 public static Boolean ...
2019-08-01 10:36:12
2521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅