自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 JAVA程序设计:最长重复子串(LeetCode:1044)

给出一个字符串S,考虑其所有重复子串(S 的连续子串,出现两次或多次,可能会有重叠)。 返回任何具有最长可能长度的重复子串。(如果 S不含重复子串,那么答案为""。) 示例 1: 输入:"banana" 输出:"ana" 示例 ...

2020-07-10 13:21:16 17 0

原创 JAVA程序设计:分隔数组以得到最大和(LeetCode:1043)

给出整数数组A,将该数组分隔为长度最多为 K 的几个(连续)子数组。分隔完成后,每个子数组的中的值都会变为该子数组中的最大值。 返回给定数组完成分隔后的最大和。 示例: 输入:A = [1,15,7,9,2,5,10], K = 3 输出:84 解释:A 变为 [15,15,15,9,1...

2020-07-10 09:42:29 14 0

原创 JAVA程序设计:困于环中的机器人(LeetCode:1041)

在无限的平面上,机器人最初位于(0, 0)处,面朝北方。机器人可以接受下列三条指令之一: "G":直走 1 个单位 "L":左转 90 度 "R":右转 90 度 机器人按顺序执行指令instructions,并一直重复它们。 只有在...

2020-07-09 17:59:40 17 0

原创 JAVA程序设计:移动石子直到连续 II(LeetCode:1040)

在一个长度无限的数轴上,第 i 颗石子的位置为stones[i]。如果一颗石子的位置最小/最大,那么该石子被称作端点石子。 每个回合,你可以将一颗端点石子拿起并移动到一个未占用的位置,使得该石子不再是一颗端点石子。 值得注意的是,如果石子像stones = [1,2,5]这样,你将无法移动位于...

2020-07-09 15:54:06 21 0

原创 JAVA程序设计:恢复空格(LeetCode:面试题 17.13)

哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!"已经变成了"iresetthecomputeritstilldidntboot"。在处...

2020-07-09 09:41:28 30 0

原创 JAVA程序设计:多边形三角剖分的最低得分(LeetCode:1039)

给定N,想象一个凸N边多边形,其顶点按顺时针顺序依次标记为A[0], A[i], ..., A[N-1]。 假设您将多边形剖分为 N-2 个三角形。对于每个三角形,该三角形的值是顶点标记的乘积,三角剖分的分数是进行三角剖分后所有 N-2 个三角形的值之和。 返回多边形进行三角剖分后可以得到的最...

2020-07-08 09:52:58 19 0

原创 JAVA程序设计:逃离大迷宫(LeetCode:1036)

在一个 10^6 x 10^6 的网格中,每个网格块的坐标为(x, y),其中0 <= x, y < 10^6。 我们从源方格source开始出发,意图赶往目标方格target。每次移动,我们都可以走到网格中在四个方向上相邻的方格,只要该方格不在给出的封锁列表blocked上。 只...

2020-07-07 05:17:58 20 0

原创 JAVA程序设计:不相交的线(LeetCode:1035)

我们在两条独立的水平线上按给定的顺序写下A和B中的整数。 现在,我们可以绘制一些连接两个数字A[i]和B[j]的直线,只要A[i] == B[j],且我们绘制的直线不与任何其他连线(非水平线)相交。 以这种方法绘制线条,并返回我们可以绘制的最大连线数。 示例 1: 输入:A = [...

2020-07-07 04:32:55 123 0

原创 第 196 场力扣周赛题解

5452. 判断能否形成等差数列 思路:排序后直接看相邻元素的差是否唯一即可。 class Solution { public boolean canMakeArithmeticProgression(int[] arr) { Arrays.sort(arr); ...

2020-07-06 09:12:36 36 0

原创 数据挖掘入门:二手车交易价格预测

题目和数据来源于:阿里天池数据挖掘学习赛 备注:本篇文章主要目的是为了通过阿里天池的入门教程,保存一下数据挖掘中的一般步骤,因此解释性工作较少,主要是方便自己未来作为参照使用。 其中下面的主要代码参考了比赛中的Baseline方案! #Step1:导入函数工具箱 ##基础工具 impo...

2020-07-05 21:23:25 84 0

原创 JAVA程序设计:字符流(LeetCode:1032)

按下述要求实现 StreamChecker 类: StreamChecker(words):构造函数,用给定的字词初始化数据结构。 query(letter):如果存在某些 k >= 1,可以用查询的最后 k个字符(按从旧到新顺序,包括刚刚查询的字母)拼写出给定字词表中的某一字词时,返回 ...

2020-07-04 11:52:27 31 0

原创 JAVA程序设计:链表中的下一个更大节点(LeetCode:1019)

给出一个以头节点head作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ... 。 每个节点都可能有下一个更大值(next larger value):对于node_i,如果其next_larger(node_i)是node_j.val,那么就有j ...

2020-07-01 08:52:14 23 0

原创 JAVA程序设计:可被 5 整除的二进制前缀(LeetCode:1018)

给定由若干0和1组成的数组 A。我们定义N_i:从A[0] 到A[i]的第 i个子数组被解释为一个二进制数(从最高有效位到最低有效位)。 返回布尔值列表answer,只有当N_i可以被 5整除时,答案answer[i] 为true,否则为 false。 示例 1: 输入:[0,1,1] ...

2020-06-30 10:37:53 21 0

原创 JAVA程序设计:负二进制转换(LeetCode:1017)

给出数字N,返回由若干"0"和"1"组成的字符串,该字符串为 N的负二进制(base -2)表示。 除非字符串就是"0",否则返回的字符串中不能含有前导零。 示例 1: 输入:2 输出:"110" 解释:(-...

2020-06-30 10:02:49 21 0

原创 Leetcode 第29场双周赛题解

5432. 去掉最低工资和最高工资后的工资平均值 思路:排序求和即可。 class Solution { public double average(int[] salary) { double ans = 0; Arrays.sort(salary...

2020-06-29 09:46:29 44 0

原创 JAVA程序设计:数组中的第K个最大元素(LeetCode:215)

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 说明...

2020-06-29 09:15:52 26 0

原创 第 195 场力扣周赛题解

5448. 判断路径是否相交 思路:存储下坐标是否访问过即可。 class Solution { public boolean isPathCrossing(String path) { Map<String, Boolean> map = new Ha...

2020-06-28 12:32:59 52 0

原创 JAVA程序设计:至少有 1 位重复的数字(LeetCode:1012)

给定正整数N,返回小于等于 N且具有至少 1 位重复数字的正整数的个数。 示例 1: 输入:20 输出:1 解释:具有至少 1 位重复数字的正数(<= 20)只有 11 。 示例 2: 输入:100 输出:10 解释:具有至少 1 位重复数字的正数(<= 100)有 11,2...

2020-06-25 15:55:11 35 0

原创 JAVA程序设计:检查替换后的词是否有效(LeetCode:1003)

给定有效字符串"abc"。 对于任何有效的字符串 V,我们可以将 V 分成两个部分 X 和 Y,使得 X + Y(X 与 Y 连接)等于 V。(X或 Y 可以为空。)那么,X + "abc" + Y 也同样是有效的。 例如,如果 S = "ab...

2020-06-22 10:06:46 42 0

原创 JAVA程序设计:模式匹配(LeetCode:面试题 16.18)

你有两个字符串,即pattern和value。 pattern字符串由字母"a"和"b"组成,用于描述字符串中的模式。例如,字符串"catcatgocatgo"匹配模式"aabab"(其中"cat"...

2020-06-22 09:43:33 37 0

原创 第 194 场力扣周赛题解

气死了啊,最后一题下标打错了,发现后已经来不及了。。。。。不过内推场能打到这个名次也还行。可是真的好可惜。 5440. 数组异或操作 思路:按照题目要求直接异或就ok class Solution { public int xorOperation(int n, int sta...

2020-06-21 12:25:50 75 0

原创 JAVA程序设计:网格照明(LeetCode:1001)

在N x N的网格上,每个单元格(x, y)上都有一盏灯,其中0 <= x < N且0 <= y < N 。 最初,一定数量的灯是亮着的。lamps[i]告诉我们亮着的第 i 盏灯的位置。每盏灯都照亮其所在 x 轴、y 轴和两条对角线上的每个正方形(类似于国际象棋中的皇后...

2020-06-20 14:29:09 34 0

原创 JAVA程序设计:合并石头的最低成本(LeetCode:1000)

有 N 堆石头排成一排,第 i 堆中有stones[i]块石头。 每次移动(move)需要将连续的K堆石头合并为一堆,而这个移动的成本为这K堆石头的总数。 找出把所有石头合并成一堆的最低成本。如果不可能,返回 -1 。 示例 1: 输入:stones = [3,2,4,1], K = ...

2020-06-20 12:38:13 33 0

原创 JAVA程序设计:正方形数组的数目(LeetCode:996)

给定一个非负整数数组A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组。 返回 A 的正方形排列的数目。两个排列 A1 和 A2 不同的充要条件是存在某个索引 i,使得 A1[i] != A2[i]。 示例 1: 输入:[1,17,8] 输出:2 解释: [1,8,...

2020-06-19 12:15:40 47 0

原创 JAVA程序设计:K 连续位的最小翻转次数(LeetCode:995)

在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。 返回所需的 K 位翻转的次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。 示例 1: 输入:A = [0,1,0],...

2020-06-19 10:00:49 27 0

原创 JAVA程序设计:从先序遍历还原二叉树(LeetCode:1028)

我们从二叉树的根节点 root开始进行深度优先搜索。 在遍历中的每个节点处,我们输出D条短划线(其中D是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。 如果节点只有一个子节点,那么保证该子节点为左子节点。 给出遍历输出S...

2020-06-18 12:25:23 34 0

原创 JAVA程序设计:K 个不同整数的子数组(LeetCode:992)

给定一个正整数数组 A,如果 A的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。 (例如,[1,2,3,1,2] 中有3个不同的整数:1,2,以及3。) 返回A中好子数组的数目。 示例 1: 输入:A = [1,2,1,2,3], K = 2...

2020-06-18 10:49:16 35 0

原创 JAVA程序设计:坏了的计算器(LeetCode:991)

在显示着数字的坏计算器上,我们可以执行以下两种操作: 双倍(Double):将显示屏上的数字乘 2; 递减(Decrement):将显示屏上的数字减 1 。 最初,计算器显示数字X。 返回显示数字Y所需的最小操作数。 示例 1: 输入:X = 2, Y = 3 输出:2 解释:先进行双...

2020-06-18 09:18:56 35 0

原创 JAVA程序设计:二叉树的垂序遍历(LeetCode:987)

给定二叉树,按垂序遍历返回其结点值。 对位于(X, Y)的每个结点而言,其左右子结点分别位于(X-1, Y-1)和(X+1, Y-1)。 把一条垂线从X = -infinity移动到X = +infinity,每当该垂线与结点接触时,我们按从上到下的顺序报告结点的值( Y坐标递减)。 如果两...

2020-06-16 08:15:10 31 0

原创 JAVA程序设计:按位与为零的三元组(LeetCode:982)

给定一个整数数组A,找出索引为 (i, j, k) 的三元组,使得: 0 <= i < A.length 0 <= j < A.length 0 <= k < A.length A[i]& A[j]& A[k] == 0,其中&表示按位...

2020-06-15 09:24:47 43 0

原创 第 193 场力扣周赛题解

5436. 一维数组的动态和 思路:就是求一波前缀和。 class Solution { public int[] runningSum(int[] nums) { for(int i=1;i<nums.length;i++) nums[i]+...

2020-06-14 12:09:08 55 0

原创 Leetcode 第28场双周赛题解

贼不稳。 5420. 商品折扣后的最终价格 思路:两层for循环遍历即可。 class Solution { public int[] finalPrices(int[] prices) { int n=prices.length; int[] ...

2020-06-14 09:18:57 72 0

原创 信号处理中的高阶统计量概述

本部分知识主要参考网上各类资料以及高阶统计量信号处理方法 高阶统计量是指比二阶统计量更高阶的随机变量或随机过程的统计量。 二阶统计量 随机变量(矢量):方差、协方差(相关矩)、二阶矩。 随机过程:自相关函数、功率谱、互相关函数、互功率谱、自协方差函数等。 高阶统计量 随机变量(矢量)...

2020-06-12 11:43:28 227 0

原创 JAVA程序设计:在二叉树中分配硬币(LeetCode:979)

给定一个有 N 个结点的二叉树的根结点 root,树中的每个结点上都对应有 node.val 枚硬币,并且总共有 N 枚硬币。 在一次移动中,我们可以选择两个相邻的结点,然后将一枚硬币从其中一个结点移动到另一个结点。(移动可以是从父结点到子结点,或者从子结点移动到父结点。)。 返回使每个结点上...

2020-06-12 10:05:39 53 0

原创 JAVA程序设计:奇偶跳(LeetCode:975)

给定一个整数数组 A,你可以从某一起始索引出发,跳跃一定次数。在你跳跃的过程中,第 1、3、5... 次跳跃称为奇数跳跃,而第 2、4、6... 次跳跃称为偶数跳跃。 你可以按以下方式从索引 i向后跳转到索引 j(其中 i < j): 在进行奇数跳跃时(如,第1,3,5... 次跳跃),...

2020-06-11 17:18:06 32 0

原创 JAVA程序设计:相等的有理数(LeetCode:972)

给定两个字符串 S 和 T,每个字符串代表一个非负有理数,只有当它们表示相同的数字时才返回 true;否则,返回 false。字符串中可以使用括号来表示有理数的重复部分。 通常,有理数最多可以用三个部分来表示:整数部分<IntegerPart>、小数非重复部分<NonRepea...

2020-06-11 11:50:44 32 0

原创 JAVA程序设计:元音拼写检查器(LeetCode:966)

在给定单词列表wordlist的情况下,我们希望实现一个拼写检查器,将查询单词转换为正确的单词。 对于给定的查询单词query,拼写检查器将会处理两类拼写错误: 大小写:如果查询匹配单词列表中的某个单词(不区分大小写),则返回的正确单词与单词列表中的大小写相同。 例如:wordlist = [...

2020-06-08 20:28:56 63 0

原创 JAVA程序设计:表示数字的最少运算符(LeetCode:964)

给定一个正整数 x,我们将会写出一个形如x (op1) x (op2) x (op3) x ...的表达式,其中每个运算符op1,op2,… 可以是加、减、乘、除(+,-,*,或是/)之一。例如,对于x = 3,我们可以写出表达式3 * 3 / 3 + 3 - 3,该式的值为 3 。 在写这样的...

2020-06-08 19:09:26 63 0

原创 JAVA程序设计:等式方程的可满足性(LeetCode:990)

给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:"a==b" 或"a!=b"。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。 只有当可以将整数分配给变量名...

2020-06-08 11:08:54 179 0

原创 第 192 场力扣周赛题解

5428. 重新排列数组 思路:按照题目重新排列即可。 class Solution { public int[] shuffle(int[] nums, int n) { n=n*2; int[] ans=new int[n]; ...

2020-06-07 21:14:01 75 0

提示
确定要删除当前文章?
取消 删除