模拟卷Leetcode【普通】055. 跳跃游戏

055. 跳跃游戏给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode【普通】056. 合并区间

056. 合并区间以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例 1:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入:intervals
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode【普通】059. 螺旋矩阵 II

059. 螺旋矩阵 II给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]提示:1 <= n <= 20来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/spiral-matrix
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode【普通】062. 不同路径

062. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode【普通】063. 不同路径 II

063. 不同路径 II一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。示例 1:输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode【普通】064. 最小路径和

064. 最小路径和给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。示例 2:输入:grid = [[1,2,3],[4,5,6]]输出:12提示:m == grid.lengthn == grid[i].
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode【普通】073. 矩阵置零

073. 矩阵置零给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。进阶:一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。你能想出一个仅使用常量空间的解决方案吗?示例 1:输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1]
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode【普通】075. 颜色分类

075. 颜色分类给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]示例 3:输入:nums = [0]输出:[0]示例 4:输入:nums = [1]输出:[1]
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode【普通】079. 单词搜索

079. 单词搜索给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例 1:输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], wo
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

模拟卷Leetcode 题解汇总

[PAT乙级-【题目+解答】汇总](https://blog.csdn.net/qq_34451909/article/details/104811369)[PAT甲级-【题目+解答】汇总](https://blog.csdn.net/qq_34451909/article/details/105119913)[PTA-浙大版《Python 程序设计》AC解答汇总](https://blog.csdn.net/qq_34451909/article/details/107907668)
分类: 其他 发布时间: 11-29 09:45 阅读次数: 0

Jenkins master位于k8s集群外,实现jenkins slave的动态构建

简述Jenkins基于"kubernetes plugin"与k8s集成,可以使Jenkins slave以pod的形式在k8s集群内部动态构建、运行、销毁等。通过 jenkinsci/kubernetes-plugin 了解到,Jenkins master既可以运行在k8s集群内,也可运行在k8s集群外,但是Jenkins slave的整个生命周期都是在k8s集群内,并且通过JNLP与Jenkins master连接。要想Jenkins master在k8s运行,我们必须提前创建StatefulSe
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

k8s+jenkins中使用自定义maven镜像

简述在k8s中使用工具不能像传统方式那样,在宿主机yum或编译安装,然后再挂载到容器中使用了;因为pod运行的节点不是固定的,如果继续按照传统方式,需要在pod可能运行的每个节点上都安装工具,这无疑非常繁琐!好在,现在的工具基本都支持docker部署,这样只需将工具的docker化添加到pod中,k8s就可以灵活使用了。需求k8s+jenkins中直接使用官方maven镜像虽然也可以打包,但是打包过程中下载存储在repository中依赖会随着容器的销毁而丢失,这样在下次打包时需要重新下载,严重影响
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

K8S+Jenkins实现SpringBoot项目的CI/CD

需求Jenkins master位于k8s集群外,实现jenkins slave的动态构建、k8s+jenkins中使用自定义maven镜像两篇文章实现了K8S+Jenkins+Maven基础环境,通过此环境我们进一步实现SpringBoot项目的CI/CD。K8S+Jenkins+Maven基础环境目前能够实现:Jenkins slave在K8S集群内的动态构建;Maven实现编译、打包、构建镜像并push到远程docker仓库;剩下的工作需在Jenkins流水线中调用kubectl 命令实
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

k8s node节点停机维护,pod如何迁移?

需求k8s集群中的node节点要升级内存,以应对服务迁入、pod扩缩容导致的资源短缺,需要对node节点进行停机维护,那么此时node节点上的pod应该如何处理呢?下面我们来看一下。默认迁移当node节点关机后,k8s集群并没有立刻发生任何自动迁移动作,如果该node节点上的副本数为1,则会出现服务中断的情况。其实事实并非如此,k8s在等待5分钟后,会自动将停机node节点上的pod自动迁移到其他node节点上。具体过程如下:# 1.模拟node节点停机,停止kubeletsystemctl
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

k8s ingress-nginx自定义配置文件

需求k8s集群默认安装的ingress-nginx
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

filebeat收集K8S日志,写入自动创建的索引

需求前面我们已经将SpringBoot项目部署在K8S中,此时需要filebeat收集日志并通过ELK进行展示,以用于后续的问题排查及监控。与传统的日志收集不同:pod所在节点不固定,每个pod中运行filebeat,配置繁琐且浪费资源;pod的日志目录一般以emptydir方式挂载在宿主机,目录不固定,filebeat无法自动匹配;pod持续增多,filebeat需要做到自动检测并收集;因此最后的收集方式为一个filebeat能够收集所有的pod日志,但是这就要求统一的日志收集规则、目录以
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

PMM:最佳的开源数据库监视解决方案

Percona Monitoring and Management是一个用于管理和监视MySQL、MongoDB、PostgreSQL和MariaDB性能的开源平台,我们可以在自己的环境中运行该插件,以实现最大的安全性和可靠性。它为数据库服务器提供了基于时间的全面分析,以确保您的数据尽可能高效地工作。PMM可以说是同类最佳的开源数据库监视解决方案。它可以帮助您降低关键业务数据库环境的复杂性,优化性能并提高其安全性,无论它们位于何处或部署在何处。C/S架构PMM平台基于可扩展的客户端-服务器模型。 它包
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

集群外独立部署Prometheus+Grafana监控K8S全面解析

简介Prometheus+Grafana作为监控K8S的解决方案,大都是在K8S集群内部部署,这样可以直接调用集群内的cert及各种监控url,但是增加了集群的资源开销。因此在资源有限的情况下,我更倾向于K8S集群外独立部署Prometheus+Grafana。虽然Prometheus+Grafana独立部署,但是收集不同维度监控指标的exporter需要部署在集群内,主要有以下三种:维度工具监控url备注Pod性能kubelet cadvisor/api/v1/node
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

kubedog:解决K8S在CI/CD中无法持续追踪问题

需求在Jenkins的CI/CD流水线中,无论是通过Kubernetes CLI还是Kubernetes Continuous Deploy插件,在应用yaml后无法检查资源是否部署成功,只能通过kubectl手动检查。这种现象类似于当通过kubectl apply对资源进行配置后,需以下操作进一步获取资源的运行信息:kubectl get -wkubectl logskubectl describe多次输入以上命令我们才能确定pod是否运行成功或定位pod失败原因,操作比较繁琐。而ku
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0

滴滴夜莺:从监控告警系统向运维平台演化

简述滴滴夜莺(Nightingale)是一款经过大规模生产环境验证的、分布式高性能的运维监控系统。基于Open-Falcon,结合滴滴内部的最佳实践,在性能、可维护性、易用性方面做了大量的改进,支撑了滴滴内部数十亿监控指标,覆盖了从系统、容器、到应用等各层面的监控需求。夜莺于2020年3月底开源至今,GitHub Star已突破2000,并且于9月底发布了最新的3.0版本。本次更新夜莺被拆成了四个子系统,分别是:用户资源中心(RDB)平台底座,所有的运维系统,都需要依赖这个,内置用户、权限、角色、
分类: 其他 发布时间: 11-29 09:37 阅读次数: 0