KiragoStay hungry Stay foolish!!

TA的文章
  • 算法实践应用
    需求背景: 有问题的jira 关联模块信息: jira1:关联模块A、B; jira2:关联模块A、C; jira3:关联模块C、D; jira4:关联模块D; jira5:关联模块E; 在日常版本迭代时,根据当前 sprint 的中的 jira 号捞出涉及到的模块,那么此次 sprint 迭代中 模块 A、B、C、D、E都不做为升级,主要的考虑是牵扯到 jira3 实际上是 通过 jira2 作为中间状态关联到的。 根据以上背景直接撸代码吧: package src.daily; import java.util.ArrayList; import java.util.Arrays; im...
    •  0
    •  0
    •  2020-05-26
  • 数组之矩阵重叠
    836. 矩形重叠 难度 简单 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。 如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。 给出两个矩形,判断它们是否重叠并返回结果。 示例 1: 输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3] 输出:true 示例 2: 输入:rec1 = [0,0,1,1], rec2 = [1,0,2,1] 输出:false 提示: 两个矩形 rec1 和 rec2 都以含有四个整数的列表的形式给出。 矩形中的所...
    •  0
    •  0
    •  2020-04-22
  • LeetCode 每日一题
    199. 二叉树的右视图 难度 中等 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 <--- \ \ 5 4 <--- https://leetcode-cn.com/problems/binary-tree-right-side-view/ 深度优先递归【DFS+记忆存储】 纯手打记录自己解题思路: 通过深度遍历获取每一行的最右...
    •  1
    •  1
    •  2020-04-22
  • 二叉树的垂直遍历【基于width与depth的DFS】
    https://leetcode-cn.com/problems/binary-tree-vertical-order-traversal/ 题目描述如下: 为了能够满足最终输出的要求,构建根据列式索引为 KEY,value 为相同列式索引的元素构成List,所以中间存储过程可以通过构建 `TreeMap<Integer,List<int[]>>`,最终遍历输出 这里使用*TreeMap*是为了满足根据列式索引的排序输出,为啥value 为List<int[]>?这里我是通过如此的数据结构来记录 depth 和 width,其实我们也可以自己构建对象来记录我们需要的状态。 1. 如何遍历的问题...
    •  0
    •  0
    •  2020-04-03
  • 回文链表
    回文链表 请判断一个单链表是否为回文链表 输入:1->2->1 输出:true 输入:1->2->2->1 输出:true 输入: 1->2->3 输出:false 注:空链表,单节点链表也为回文链表 考虑空间复杂度O(1),时间复杂度为O(n) 分析思路 基于链表的节点获取,只能通过遍历的形式,基于空间复杂度的情况,肯定是不能申请例如 list、map的数据结构去存储的。 通过大脑的第一反应就是找到中间节点将链表切分为 pre 前段链表、 aft 后段链表两个链表,然后将 pre 链表逆序遍历,aft 链表正序遍历,逐一比对节点值,当发现节点值不相等的时候即输出 false,否则为 tru...
    •  0
    •  0
    •  2020-01-09
  • 相交链表
    注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。【此处由于存在时间和空间复杂度的限制,所以无法利用之前如通过HashSet 进行环形列表判断的方法,不满足空间复杂度,那么暴力遍历法也是不满足条件的】 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists 简单理解下题目,其实可以比喻成 路程A,运动员A及路程B,运动员B,运动员A和B的跑步速度是一...
    •  0
    •  0
    •  2020-01-07
  • 环形链表
    给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/linked-list-cycle 通过 HashSet 来存储环形链表中的索引位置。 代码如下: public class HasCycle{          public class ListNode() {         int val;         ListNode  next;         ...
    •  0
    •  0
    •  2020-01-07
  • 自定义实现循环列表
    /**  * 条件为循环数组中插入的是非负数。  */ public class MyCircularQueue {     private int[] data;     private int head, tail, size;     public MyCircularQueue(int k){         data = new int[k];         head = tail = -1;         size = k;     }     public boolean enQueue(int value) {         if(isEmpty()) {...
    •  1
    •  0
    •  2019-12-24
  • 爬楼梯问题
    场景需求 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶 解题分析 通过题目描述可以得知,有1阶楼梯的话 就仅仅只有1种方法, 2阶楼梯的话,我们可以第一步爬1阶,第二步爬1阶 + 第一步直接爬2阶 得到 2种解法。 3阶楼梯...
    •  1
    •  0
    •  2019-12-19
  • 将有序数组转换为一颗高度平衡的二叉搜索树
    二叉搜索树 二叉搜索树可以是一颗空树或者具备如下特性的一棵树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值 任意节点的左、右子树也分别为二叉搜索树 没有键值相等的节点 一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 前置条件 给定一个数组,但此数组是有序的。 解决思路 通过结合二叉搜索树的特性可以得知,二叉搜索树通过 中序遍历之后得到的是一个有序数组。 中序输出的过程为:左节点 -> 根节点 -> 右节点 此时发现其实这是一个逆向过程,根据已有的排序数组逆向构造二叉...
    •  0
    •  0
    •  2019-12-19