剑指offer106:二分图
题目:存在一个 无向图 ,图中有 n 个节点。其中每个节点都有一个介于 0 到 n - 1 之间的唯一编号。给定一个二维数组 graph ,表示图,其中 graph[u] 是一个节点数组,由节点 u 的邻接节点组成。形式上,对于 graph[u] 中的每个 v ,都存在一条位于节点 u 和节点 v 之间的无向边。该无向图同时具有以下属性:不存在自环(graph[u] 不包含 u)。不存在平行边(graph[u] 不包含重复值)。如果 v 在 graph[u] 内,那么 u 也应该在 graph[v
剑指offer107:矩阵中的距离
题目:给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。两个相邻元素间的距离为 1 。示例一:输入:mat = [[0,0,0],[0,1,0],[0,0,0]]输出:[[0,0,0],[0,1,0],[0,0,0]]示例二:输入:mat = [[0,0,0],[0,1,0],[1,1,1]]输出:[[0,0,0],[0,1,0],[1,2,1]]分析:由于这个问题与无权图的最近距离相关,因此可以考虑
剑指offer109:开密码锁
题目:一个密码锁由 4 个环形拨轮组成,每个拨轮都有 10 个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转:例如把 ‘9’ 变为 ‘0’,‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 ‘0000’ ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转。字符串 target 代表可以解锁
完完整整搭建一个后台管理项目springboot+vue(开篇)
该项目是我做的一个b站up主程序员青戈做的一个后台管理系统项目,视频链接在这,我将会详细写好笔记,并发布到专栏。登录界面后台界面包含文件上传下载,用户增删改查,菜单管理动态路由,以及角色权限等功能,几乎是所有后台功能必备的功能,之后还会集成一些别的功能。之后我会在专栏中详细的把每一个功能如何实现的记录下来,方便我的项目复习。项目搭建软件版本:jdk 1.8mysql5.7+node14.16.0navicatidea2021.3如果觉得一个node版本。之后还得下载替换太麻烦
剑指offer110:所有路径
题目:给定一个有 n 个节点的有向无环图,用二维数组 graph 表示,请找到所有从 0 到 n-1 的路径并输出(不要求按顺序)。graph 的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些结点(译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a ),若为空,就是没有下一个节点了。示例一:输入:graph = [[1,2],[3],[3],[]]输出:[[0,1,3],[0,2,3]]解释:有两条路径 0 -> 1 -> 3 和 0 -> 2
剑指offer113:课程顺序
题目:现在总共有 numCourses 门课需要选,记为 0 到 numCourses-1。给定一个数组 prerequisites ,它的每一个元素 prerequisites[i] 表示两门课程之间的先修顺序。 例如 prerequisites[i] = [ai, bi] 表示想要学习课程 ai ,需要先完成课程 bi 。请根据给出的总课程数 numCourses 和表示先修顺序的 prerequisites 得出一个可行的修课序列。可能会有多个正确的顺序,只要任意返回一种就可以了。如果不可能
剑指offer115:重建序列
题目:请判断原始的序列 org 是否可以从序列集 seqs 中唯一地 重建 。序列 org 是 1 到 n 整数的排列,其中 1 ≤ n ≤ 104。重建 是指在序列集 seqs 中构建最短的公共超序列,即 seqs 中的任意序列都是该最短序列的子序列。示例 1:输入: org = [1,2,3], seqs = [[1,2],[1,3]]输出: false解释:[1,2,3] 不是可以被重建的唯一的序列,因为 [1,3,2] 也是一个合法的序列。示例 2:输入: org = [1,2,3
剑指offer116:省份数量
题目:有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。示例一:输入:isConnec
剑指offer118:多余的边
题目:树可以看成是一个连通且 无环 的 无向 图。给定往一棵 n 个节点 (节点值 1~n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间,且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n 的二维数组 edges ,edges[i] = [ai, bi] 表示图中在 ai 和 bi 之间存在一条边。请找出一条可以删去的边,删除后可使得剩余部分是一个有着 n 个节点的树。如果有多个答案,则返回数组 edges 中最后出现的边。分析:代码:...
使用 DataX 实现数据同步(高效的同步工具)
DataX 是阿里云 DataWorks 数据集成 的开源版本,主要就是用于实现数据间的离线同步。 DataX 致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等 各种异构数据源(即不同的数据库) 间稳定高效的数据同步功能。
RedisInsight 安装与使用(Redis 监控工具)
RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持)
使用云主机,我们可以做哪些事情
随着互联网的快速发展,越来越多的企业都在慢慢的向云时代方向发展,主要原因是因为 云主机能够快速构建更稳定、安全的应用,同时也降低了开发和运维的难度以及整体 IT 成本,使企业可以更专注于核心业务的创新。
使用二进制方式安装 Kubernetes 1.18.3 版本
Kubernetes,也称为 K8s,是由 Google 公司开源的容器集群管理系统,在 Docker 技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。
三天入门 Docker - 第一天:Docker 基本介绍与使用
Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 可以将应用程序与基础架构分离(即 不再过于需要底层支持),以便我们可以快速交付软件。使用 Docker,我们可以像管理应用程序一样管理基础架构。
三天入门 Docker - 第二天:Dockerfile 基本介绍与使用
Dockerfile 是由一组指令组成的文件,其中每条指令对应 Linux 中的一条命令,并且支持以 # 开头的注释行;一般来说,Dockerfile 结构大致分为四个部分:基础镜像、维护者信息、镜像操作指令和容器启动时的运行命令。
三天入门 Docker - 第三天:实现 Docker 容器监控
cAdvisor 是 Google 开源的一款 用于展示和分析容器有运行状态的可视化工具。通过在主机上运行 cAdvisor 用户,可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。
Rancher 使用介绍(可以通过界面管理 K8s 平台)
Rancher 是为使用容器的公司打造的容器管理平台,通过 Rancher,企业不再需要使用一系列开源软件从零开始构建一个容器服务平台。同时 Rancher 还提供了一个全栈容器部署和管理平台,用于管理 Docker 和 Kubernetes。
今日推荐
周排行