摘要: 题目描述 给定2D空间中四个点的坐标 p1, p2, p3 和 p4,如果这四个点构成一个正方形,则返回 true 。 点的坐标 pi 表示为 [xi, yi] 。输入 不是 按任何顺序给出的。 一个 有效的正方形 有四条等边和四个等角(90度角)。 链接:https://leetcode.cn/p 阅读全文
posted @ 2022-07-30 00:01 XinStar 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目 题目地址 分析 这道题符合递归的性质,对于当前的节点node,当且仅当其左右孩子都为不包含1的子树,且node.val=1时,node所在的子树才符合“不包含1的子树”这一定义。那么很自然的,我们可以采取树的后序处理,递归的处理上述条件,具体代码如下。 代码 Golang代码 /* * @lc 阅读全文
posted @ 2022-07-22 00:00 XinStar 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 二维网格迁移 题目描述 给你一个 m 行 n 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。 每次「迁移」操作将会引发下述活动: 位于 grid[i][j] 的元素将会移动到 grid[i][j + 1]。 位于 grid[i][n - 1] 的元素将会移动到 grid[ 阅读全文
posted @ 2022-07-20 23:45 XinStar 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个整数数组 asteroids,表示在同一行的行星。对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。找出碰撞后剩下的所有行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两 阅读全文
posted @ 2022-07-14 00:20 XinStar 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 引言 领域驱动设计的最终目的是能够构建出良好的、可维护的软件架构。那么,一个设计优良的软件架构应该具有如下特点: 与外部依赖独立 与底层数据源独立 与前端展示逻辑独立 易于测试与更新 这部份的内容主要参考《实现领域驱动-中文版》 要满足以上特性,实际上需要软件的各个部分之间不依赖于具体的实现,只依赖 阅读全文
posted @ 2022-07-05 21:57 XinStar 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 领域驱动设计 领域驱动设计是关于软件开发时架构设计与建模的方法论,随着微服务架构的普及,领域驱动设计也随之被广泛使用。在本文中,将对领域驱动设计中的重要概念进行介绍。 界限上下文 在领域驱动设计中,首先需要根据客观对象的实际内容以及对业务的理解,划分出不同的领域。因此,引出了一个重要的概念:界限上下 阅读全文
posted @ 2022-07-04 17:38 XinStar 阅读(330) 评论(0) 推荐(1) 编辑
摘要: 引言 Git是工作中最常用的版本控制工具,本文中将介绍其常用的命令。 根据作用的不同,可以分为基本命令、撤销命令、合并命令与远程仓库命令,下面将依次介绍这些命令。 基本原理 git 中提供了底层api供我们直接对底层数据结构进行调用,其中git cat-file [-t] [-p] hashcode 阅读全文
posted @ 2022-07-02 21:09 XinStar 阅读(53) 评论(0) 推荐(1) 编辑
摘要: 题目内容 题目分析 这是一道典型的树结构遍历题,可以使用层序遍历(BFS)或者(DFS)进行解题。 在BFS中,使用队列结构遍历树的每一层并维护每层的最大值。 在DFS中,由于并不是一层一层的去访问树的节点,因此需要使用HashMap来维护每个层最大值。 BFS public List<Intege 阅读全文
posted @ 2022-06-24 22:47 XinStar 阅读(21) 评论(0) 推荐(0) 编辑