算法
Java实现的算法。
二楼后座。
这个作者很懒,什么都没留下…
展开
-
leetcode1284转换清零矩阵的最少次数
给你一个 m x n 的二进制矩阵 mat。每一步,你可以选择一个单元格并将它反转(反转表示 0 变 1 ,1 变 0 )。如果存在和它相邻的单元格,那么这些相邻的单元格也会被反转。(注:相邻的两个单元格共享同一条边。)请你返回将矩阵 mat 转化为全零矩阵的最少反转次数,如果无法转化为全零矩阵,请返回 -1 。二进制矩阵的每一个格子要么是 0 要么是 1 。全零矩阵是所有格子都为 0 的矩阵。输入:mat = [[0,0],[0,1]]输出:3解释:一个可能的解是反转 (1, 0),然后 (原创 2020-10-24 00:04:15 · 375 阅读 · 0 评论 -
快慢指针判断链表是否成环
设置两个指针,一个每次前进2个单位,另一个每次前进1个单位,如果链表有环,那么总有一时刻两个指针会相遇。力扣141. 环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输原创 2020-06-08 09:37:12 · 220 阅读 · 0 评论 -
LeetCode 面试题35. 复杂链表的复制
请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/示例:输入:head = [[7,null],[13,0],[11,4...原创 2020-05-03 15:10:50 · 197 阅读 · 0 评论 -
174. 地下城游戏(困难) 动态规划 贪心 详细注释
一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间...原创 2020-02-28 17:39:20 · 263 阅读 · 0 评论 -
32. 最长有效括号(困难) 动态规划 详细注释
给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-valid-paren...原创 2020-02-28 17:34:41 · 198 阅读 · 0 评论 -
力扣 743 网络延迟
有 N 个网络节点,标记为 1 到 N。给定一个列表 times,表示信号经过有向边的传递时间。 times[i] = (u, v, w),其中 u 是源节点,v 是目标节点, w 是一个信号从源节点传递到目标节点的时间。现在,我们向当前的节点 K 发送了一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,返回 -1。注意:N 的范围在 [1, 100] 之间。K 的...原创 2020-02-28 10:20:54 · 284 阅读 · 0 评论