自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_45239139的博客

面包会有的

  • 博客(87)
  • 收藏
  • 关注

原创 LeetCode:1200.最小绝对差

题目:给你个整数数组 arr,其中每个元素都 不相同。请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。 示例 1:输入:arr = [4,2,1,3]输出:[[1,2],[2,3],[3,4]]示例 2:输入:arr = [1,3,6,10,15]输出:[[1,3]]示例 3:输入:arr = [3,8,-10,23,19,-4,-14,27]输出:[...

2019-12-31 21:37:20 100

原创 LeetCode:1184.公交站间的距离

题目:环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 (i + 1) % n 的车站之间的距离。环线上的公交车都可以按顺时针和逆时针的方向行驶。返回乘客从出发点 start 到目的地 destination 之间的最短距离。源码:class Solution { ...

2019-12-31 20:56:39 135

原创 LeetCode:1170.比较字符串最小字母出现频次

题目:我们来定义一个函数 f(s),其中传入参数 s 是一个非空字符串;该函数的功能是统计 s 中(按字典序比较)最小字母的出现频次。例如,若 s = "dcce",那么 f(s) = 2,因为最小的字母是 "c",它出现了 2 次。现在,给你两个字符串数组待查表 queries 和词汇表 words,请你返回一个整数数组 answer 作为答案,其中每个 answer[i] 是满足 ...

2019-12-31 20:23:34 206

原创 LeetCode:1128.等价多米诺骨牌对的数量

题目:给你一个由一些多米诺骨牌组成的列表 dominoes。如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 a==c 且 b==d,或是 a==d 且 b==c。在 0 <= i < j < dom...

2019-12-31 19:47:09 194

原创 LeetCode:557.反转字符串中的单词III

题目:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 源码:class Solution { public String reverseWords(String s) { c...

2019-12-29 22:30:00 69

原创 LeetCode:551.学生出勤记录I

题目:给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:'A' : Absent,缺勤'L' : Late,迟到'P' : Present,到场如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤记录判断他是否会被奖赏。示例 1:输入: "PPALLP"输出: True示例 ...

2019-12-29 21:14:11 128

原创 LeetCode:5134.将每个元素替换为右侧最大元素

题目:给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组。示例:输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]源码:class Solution { public int[] replaceElements(int[] arr) { ...

2019-12-29 20:45:45 148

原创 LeetCode:1287.有序数组中出现次数超过百分之25的元素

题目:给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。请你找到并返回这个整数示例:输入:arr = [1,2,2,6,6,6,6,7,10]输出:6源码:class Solution { public int findSpecialInteger(int[] arr) { if (arr.len...

2019-12-29 20:44:20 197

原创 LeetCode:1051.高度检查器

题目:学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。请你返回至少有多少个学生没有站在正确位置数量。该人数指的是:能让所有学生以 非递减 高度排列的必要移动人数。示例:输入:[1,1,4,2,1,3]输出:3解释:高度为 4、3 和最后一个 1 的学生,没有站在正确的位置。源码:class Solution { public int heightCh...

2019-12-29 19:00:28 154

原创 LeetCode:1089.复写零

题目:给你一个长度固定的整数数组 arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。要求:请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。示例 1:输入:[1,0,2,3,0,4,5,0]输出:null解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]示例 2:输入:[1,...

2019-12-29 18:52:21 265

原创 java.简易版Http Server

源码:HttpServerTest类import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.Executor;import java.util.concurrent.ExecutorService;import java.util.concurre...

2019-12-29 18:07:12 267

原创 LeetCode:1160.拼写单词

题目:给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的 长度之和。示例 1:输入:words = ["cat",...

2019-12-24 20:29:46 150

原创 LeetCode:1013.将数组分成和相等的三个部分

题目:给定一个整数数组 A,只有我们可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果我们可以找出索引 i+1 < j 且满足 (A[0] + A[1] + ... + A[i] == A[i+1] + A[i+2] + ... + A[j-1] == A[j] + A[j-1] + ... + A[A.length - 1]) 就可以将数组三等分...

2019-12-24 19:28:43 134

原创 LeetCode:1010.总持续时间可被60整除的歌曲

题目:在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字 i < j 且有 (time[i] + time[j]) % 60 == 0。示例 1:输入:[30,20,150,100,40]输出:3解释:这三对的总持续时间可被 60 整数:(time[0] = 30, ti...

2019-12-24 18:29:13 120

原创 LeetCode:999.车的可用捕获量

题目:在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。另外,车...

2019-12-24 14:40:48 81

原创 LeetCode:914.卡牌分组

题目:给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输...

2019-12-24 14:02:36 97

原创 java.简单的TCP网络程序

服务端的创建:import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TcpServer { // 相关服务器 API 使用 private static final int PORT = 9999; public static void main(Stri...

2019-12-24 13:41:27 123

原创 java.只创建三个线程循环打印十次 ABC

题目:最多只允许创建三个线程来完成循环打印十次 ABC 的操作。完成效果如下所示:ABCABCABC…十次源码:package lesson2;public class SequencePrint { // 数组是 java 对象,是放在堆里面的 // 定义需要打印的顺序 private static String[] INFOS = {"A", "...

2019-12-22 21:00:52 336

原创 LeetCode:888.公平的糖果交换

题目:爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j 块糖的大小。因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。如...

2019-12-21 21:40:37 94

原创 LeetCode:896.单调数列

题目:如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。示例 1:输入:[1,2,2,3]输出:true示例 2:输入:...

2019-12-21 20:46:24 117

原创 LeetCode:849.到最近的人的最大距离

题目:在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。至少有一个空座位,且至少有一人坐在座位上。亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。返回他到离他最近的人的最大距离。示例 1:输入:[1,0,0,0,1,0,1]输出:2解释:如果亚历克斯坐在第二个空位(seats[2])上,他到离他最近的人的距离为 2 。...

2019-12-21 19:55:49 75

原创 LeetCode:747.至少是其他数字两倍的最大数

题目:在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1. 示例 2:输入: nums = ...

2019-12-20 17:22:05 58

原创 LeetCode:830.较大分组的位置

题目:在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 S = "abbxxxxzyy" 中,就含有 "a", "bb", "xxxx", "z" 和 "yy" 这样的一些分组。我们称所有包含大于或等于三个连续字符的分组为较大分组。找到每一个较大分组的起始和终止位置。最终结果按照字典顺序输出。示例 1:输入: "abbxxxxzzy"...

2019-12-19 20:28:32 81

原创 LeetCode:717.1比特与2比特字符

题目:有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。示例 1:输入: bits = [1, 0, 0]输出: True解释: 唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。示例 2:输入: ...

2019-12-19 20:02:45 120

原创 java.线程池

线程池的最大好处是减少每次启动,销毁线程损耗示例:package lesson07;import java.beans.ExceptionListener;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ExecutorsTest { ...

2019-12-19 18:47:14 69

原创 java.阻塞队列

在生产者和消费者模型中:解决了生产者和消费者的生产消费耦合问题,,因为生产者和消费者不会直接进行通讯,通讯的任务就交给阻塞队列来完成,阻塞队列就好比一个缓冲区域,当生产者把面包生产出来之后直接丢给阻塞队列,而消费者需要购买面包时也是直接去阻塞队列里面找,消费者不会去找生产者要面包,这样就平衡了双方的处理示例:import java.util.ArrayList;import java.ut...

2019-12-19 18:41:46 72

原创 java.日期类

源码:package lesson07;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;public class DateTest { public static void main(String[] args) { // 日期类 ...

2019-12-19 18:28:06 72

原创 java.多线程.定时器

定时器,顾名思义它的作用类似我们常常使用的闹钟,在经过一段提前设定好的时间之后来提醒或者执行一些操作。简单示例:import java.util.Timer;import java.util.TimerTask;public class TimerTest { public static void main(String[] args) { // 定时器,第一个参...

2019-12-19 18:24:54 108

原创 LeetCode:720.词典中最长的单词

题目:给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。若无答案,则返回空字符串。示例 1:输入: words = ["w","wo","wor","worl", "world"]输出: "world"解释: 单词"world"可由"w", "w...

2019-12-18 21:32:11 186

原创 LeetCode:724.寻找数组的中心索引

题目:给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入: nums = [1, 7, 3, 6, 5, 6]输出: 3解释: 索引3 ...

2019-12-18 21:30:57 64

原创 LeetCode:690.员工的重要性

题目:给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id。比如,员工1是员工2的领导,员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]],员工2的数据结构是[2, 10, [3]],员工3的数据结构是[3, 5, []]。注意虽然员工3也是员工1的一个下属,但是由于并不是直系下属,因此没有体现在员工1的数...

2019-12-18 20:14:39 98

原创 LeetCode:645.错误的集合

题目:集合 S 包含从1到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组 nums 代表了集合 S 发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入: nums = [1,2,2,4]输出: [2,3]源码:...

2019-12-18 19:48:30 53

原创 java.循环打印ABC十次

题目:利用三个线程分别打印字符串 A、B、C,要求循环打印十次结果例如:ABCABCABC…共打印十次源码:第一种写法:public class SequencePrint { /** * 三个线程 A、B、C 分别打印字符串 A、B、C * 要求:循环打印10次 * 打印结果为: * ABC * ABC * ...

2019-12-18 17:50:38 849

原创 LeetCode:1114.按序打印

题目:我们提供了一个类:public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B...

2019-12-18 16:30:05 110

原创 java.内存中的 int 和 Integer 类型

1.int 类型赋值给一个整数值,不管大小,都是在常量池中查找,如果有,返回引用,如果没有,创建再返回引用2.Integer 类型赋值给一个整数值,(1) -128 到 127 范围内的值都是先再常量池中查找,如果有,直接返回这个引用,如果没有,则再常量池中创建,再返回这个引用。‘(2) 如果超出这个范围,则再堆里创建一个 Integer 对象,对象的属性 value 指向常量池中的常量,...

2019-12-18 13:48:25 420

原创 LeetCode:674.最长连续递增序列

题目:给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。 示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], 长度为1。源码:...

2019-12-16 23:18:25 70

原创 LeetCode:643.最大子数组的平均数 I

题目:给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。示例 1:输入: [1,12,-5,-6,50,3], k = 4输出: 12.75解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75源码:class Solution { public double findMaxAverage(int[] nums, i...

2019-12-13 21:27:09 95

原创 LeetCode:628.三个数的最大乘积

题目:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24源码:class Solution { public int maximumProduct(int[] nums) { int max1 = Integer.MIN_VALUE; ...

2019-12-13 21:06:59 77

原创 LeetCode:605.压缩字符串

题目:给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。 进阶:你能否仅使用O(1) 空间解决问题? 示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个字符应该是:[...

2019-12-13 20:04:46 106

原创 LeetCode:496.下一个更大元素 I

题目:你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 :输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中的 'a' 和 'e' 被...

2019-12-13 18:19:51 63

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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