4 信仰..

尚未进行身份认证

我要认证

学无止境

等级
TA的排名 2k+

JAVA程序设计:颜色交替的最短路径(LeetCode:1129)

在一个有向图中,节点分别标记为0, 1, ..., n-1。这个图中的每条边不是红色就是蓝色,且存在自环或平行边。red_edges中的每一个[i, j]对表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges中的每一个[i, j]对表示从节点 i 到节点 j 的蓝色有向边。返回长度为 n 的数组answer,其中answer[X]是从节点0到节点X的红色边和蓝色边交替出现的最短路径的长度。如果不存在这样的路径,那么 answer[x] = -1。...

2020-08-06 17:00:07

JAVA程序设计:最小的必要团队(LeetCode:1125)

作为项目经理,你规划了一份需求的技能清单req_skills,并打算从备选人员名单people中选出些人组成一个「必要团队」( 编号为i的备选人员people[i]含有一份该备选人员掌握的技能列表)。所谓「必要团队」,就是在这个团队中,对于所需求的技能列表req_skills 中列出的每项技能,团队中至少有一名成员已经掌握。我们可以用每个人的编号来表示团队中的成员:例如,团队team = [0, 1, 3]表示掌握技能分别为people[0],people[1],和peopl...

2020-08-06 12:30:09

JAVA程序设计:回文对(LeetCode:336)

给定一组唯一的单词, 找出所有不同的索引对(i, j),使得列表中的两个单词,words[i] + words[j],可拼接成回文串。示例 1:输入: ["abcd","dcba","lls","s","sssll"]输出: [[0,1],[1,0],[3,2],[2,4]]解释: 可拼接成的回文串为 ["dcbaabcd","abcddcba","slls","llssssll"]示例 2:输入: ["bat","tab","cat"]输出: [[0,1],[1,0]]解释...

2020-08-06 11:51:18

JAVA程序设计:表现良好的最长时间段(LeetCode:1124)

给你一份工作时间表hours,上面记录着某一位员工每天的工作小时数。我们认为当员工一天中的工作小时数大于8 小时的时候,那么这一天就是「劳累的一天」。所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。请你返回「表现良好时间段」的最大长度。示例 1:输入:hours = [9,9,6,0,6,6,9]输出:3解释:最长的表现良好时间段是 [9,9,6]。提示:1 <= hours.length <= 100000...

2020-08-05 12:53:25

JAVA程序设计:解析布尔表达式(LeetCode:1106)

给你一个以字符串形式表述的布尔表达式(boolean) expression,返回该式的运算结果。有效的表达式需遵循以下约定:"t",运算结果为 True"f",运算结果为 False"!(expr)",运算过程为对内部表达式 expr 进行逻辑 非的运算(NOT)"&(expr1,expr2,...)",运算过程为对 2 个或以上内部表达式 expr1, expr2, ... 进行逻辑 与的运算(AND)"|(expr1,expr2,...)",运算过程为对 2 个或以上内部表达.

2020-08-04 09:23:40

JAVA程序设计:填充书架(LeetCode:1105)

附近的家居城促销,你买回了一直心仪的可调节书架,打算把自己的书都整理到新的书架上。你把要摆放的书 books都整理好,叠成一摞:从上往下,第 i本书的厚度为 books[i][0],高度为 books[i][1]。按顺序将这些书摆放到总宽度为shelf_width 的书架上。先选几本书放在书架上(它们的厚度之和小于等于书架的宽度 shelf_width),然后再建一层书架。重复这个过程,直到把所有的书都放在书架上。需要注意的是,在上述过程的每个步骤中,摆放书的顺序与你整理好的顺序相同...

2020-08-03 18:54:46

JAVA程序设计:二叉树寻路(LeetCode:1104)

在一棵无限的二叉树上,每个节点都有两个子节点,树中的节点 逐行 依次按“之” 字形进行标记。如下图所示,在奇数行(即,第一行、第三行、第五行……)中,按从左到右的顺序进行标记;而偶数行(即,第二行、第四行、第六行……)中,按从右到左的顺序进行标记。给你树上某一个节点的标号 label,请你返回从根节点到该标号为 label 节点的路径,该路径是由途经的节点标号所组成的。示例 1:输入:label = 14输出:[1,3,4,14]示例 2:输入:label = 26..

2020-08-03 14:34:00

JAVA程序设计:花括号展开 II(LeetCode:1096)

如果你熟悉 Shell 编程,那么一定了解过花括号展开,它可以用来生成任意字符串。花括号展开的表达式可以看作一个由 花括号、逗号 和 小写英文字母 组成的字符串,定义下面几条语法规则:如果只给出单一的元素x,那么表达式表示的字符串就只有"x"。R(x) = {x}例如,表达式 {"a"}表示字符串 "a"。而表达式 {"w"}就表示字符串 "w"。当两个或多个表达式并列,以逗号分隔时,我们取这些表达式中元素的并集。R({e_1,e_2,...}) = R(e_1)∪ R(e_2)∪...

2020-08-03 12:31:15

第 200 场力扣周赛题解

最近状态几何级下降,该多刷刷题了5475. 统计好三元组思路:直接三层for循环找就好了。class Solution { public int countGoodTriplets(int[] arr, int a, int b, int c) { int ans = 0; int len = arr.length; for (int i = 0; i < len; i++) for (int j =.

2020-08-02 13:13:12

JAVA程序设计:最短公共超序列(LeetCode:1092)

给出两个字符串str1 和str2,返回同时以str1和str2作为子序列的最短字符串。如果答案不止一个,则可以返回满足条件的任意一个答案。(如果从字符串 T 中删除一些字符(也可能不删除,并且选出的这些字符可以位于 T 中的任意位置),可以得到字符串 S,那么S 就是T 的子序列)示例:输入:str1 = "abac", str2 = "cab"输出:"cabac"解释:str1 = "abac" 是 "cabac" 的一个子串,因为我们可以删去 "cabac" ...

2020-08-01 17:34:40

第 199 场力扣周赛题解

5472. 重新排列字符串思路:额外开一个字符数组存储以及完成题目要求的移动即可。class Solution { public String restoreString(String s, int[] indices) { int n = s.length(); char[] c = s.toCharArray(); for (int i = 0; i < n; i++) c[indices[i]] = s

2020-07-26 13:07:22

JAVA程序设计:根到叶路径上的不足节点(LeetCode:1080)

给定一棵二叉树的根 root,请你考虑它所有从根到叶的路径:从根到任何叶的路径。(所谓一个叶子节点,就是一个没有子节点的节点)假如通过节点 node 的每种可能的 “根-叶” 路径上值的总和全都小于给定的 limit,则该节点被称之为「不足节点」,需要被删除。请你删除所有不足节点,并返回生成的二叉树的根。示例 1:输入:root = [1,2,3,4,-99,-99,7,8,9,-99,-99,12,13,-99,14], limit = 1输出:[1,2,3,4,null..

2020-07-17 10:54:41

JAVA程序设计:元素和为目标值的子矩阵数量(LeetCode:1074)

给出矩阵matrix和目标值target,返回元素总和等于目标值的非空子矩阵的数量。子矩阵x1, y1, x2, y2是满足 x1 <= x <= x2且y1 <= y <= y2的所有单元matrix[x][y]的集合。如果(x1, y1, x2, y2) 和(x1', y1', x2', y2')两个子矩阵中部分坐标不同(如:x1 != x1'),那么这两个子矩阵也不同。示例 1:输入:matrix = [[0,1,0],[1,1,...

2020-07-16 16:24:05

JAVA程序设计:负二进制数相加(LeetCode:1073)

给出基数为 -2的两个数arr1 和arr2,返回两数相加的结果。数字以数组形式给出:数组由若干 0 和 1 组成,按最高有效位到最低有效位的顺序排列。例如,arr= [1,1,0,1]表示数字(-2)^3+ (-2)^2 + (-2)^0 = -3。数组形式的数字也同样不含前导零:以 arr 为例,这意味着要么arr == [0],要么arr[0] == 1。返回相同表示形式的 arr1 和 arr2 相加的结果。两数的表示形式为:不含前导零、由若干 0 和 1 组成的数组...

2020-07-16 12:53:18

JAVA程序设计:按列翻转得到最大值等行数(LeetCode:1072)

给定由若干 0 和 1 组成的矩阵matrix,从中选出任意数量的列并翻转其上的每个单元格。翻转后,单元格的值从 0 变成 1,或者从 1 变为 0 。返回经过一些翻转后,行上所有值都相等的最大行数。示例 1:输入:[[0,1],[1,1]]输出:1解释:不进行翻转,有 1 行所有值都相等。示例 2:输入:[[0,1],[1,0]]输出:2解释:翻转第一列的值之后,这两行都由相等的值组成。示例 3:输入:[[0,0,0],[0,0,1],[1,1,0]]输出:2...

2020-07-15 11:51:04

JAVA程序设计:距离相等的条形码(LeetCode:1054)

在一个仓库里,有一排条形码,其中第 i 个条形码为barcodes[i]。请你重新排列这些条形码,使其中两个相邻的条形码 不能 相等。 你可以返回任何满足该要求的答案,此题保证存在答案。示例 1:输入:[1,1,1,2,2,2]输出:[2,1,2,1,2,1]示例 2:输入:[1,1,1,1,2,2,3,3]输出:[1,3,1,3,2,1,2,1]提示:1 <= barcodes.length <= 100001 <= barcodes[i] &...

2020-07-15 10:31:02

JAVA程序设计:最后一块石头的重量 II(LeetCode:1049)

有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x 和y,且x <= y。那么粉碎的可能结果如下:如果x == y,那么两块石头都会被完全粉碎;如果x != y,那么重量为x的石头将会完全粉碎,而重量为y的石头新重量为y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回 0。示例:输入:[2,7,4,1,8,1]输出:1解释:组合 2 和 4,得到 2,所...

2020-07-14 10:42:12

JAVA程序设计:最长字符串链(LeetCode:1048)

给出一个单词列表,其中每个单词都由小写英文字母组成。如果我们可以在word1的任何地方添加一个字母使其变成word2,那么我们认为word1是word2的前身。例如,"abc"是"abac"的前身。词链是单词[word_1, word_2, ..., word_k]组成的序列,k >= 1,其中word_1是word_2的前身,word_2是word_3的前身,依此类推。从给定单词列表 words 中选择单词组成词链,返回词链的最长可能长度。示...

2020-07-13 12:19:26

第 197 场力扣周赛题解

5460. 好数对的数目思路:直接按照题目要求找就可以啦class Solution { public int numIdenticalPairs(int[] nums) { int ans=0; for(int i=0;i<nums.length;i++) for(int j=i+1;j<nums.length;j++) if(nums[i]==nums[j])

2020-07-13 10:06:05

Leetcode 第30场双周赛题解

5177. 转变日期格式思路:首先将date拆分,然后提取出年月日信息即可。class Solution { String[] s={"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; public String reformatDate(String date) { String[] ss = date.split(" ");

2020-07-12 08:52:48

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 1024超级勋章
    1024超级勋章
    授予原创文章总数达到1024篇的博主,感谢你对CSDN社区的贡献,CSDN与你一起成长。
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。