自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 LeetCode93--统计位数为偶数的数字、和为零的N个唯一整数、矩阵中战斗力最弱的K行

1、统计位数为偶数的数字//给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 //// //// 示例 1: //// 输入:nums = [12,345,2,6,7896]//输出:2//解释://12 是 2 位数字(位数为偶数)//345 是 3 位数字(位数为奇数)//2 是 1 位数字(位数为奇数)//6 是 1 位数字 位数为奇数)//7896 是 4 位数字(位数为偶数)//因此只有 12 和 7896 是位数为偶数的数字...

2021-03-31 09:33:49 130

原创 LeetCode92--二维网格迁移、找出井字棋的获胜者

1、二维网格迁移//给你一个 m 行 n 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。 //// 每次「迁移」操作将会引发下述活动: //// // 位于 grid[i][j] 的元素将会移动到 grid[i][j + 1]。 // 位于 grid[i][n - 1] 的元素将会移动到 grid[i + 1][0]。 // 位于 grid[m - 1][n - 1] 的元素将会移动到 grid[0][0]。 // //// 请你返回 k 次迁移操作后

2021-03-30 10:03:15 125

原创 LeetCode91--最小绝对差、奇数值单元格的数目

1、最小绝对差//给你个整数数组 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,-

2021-03-29 09:27:47 81

原创 LeetCode90--一周中的第几天、存在连续三个奇数的数组

1、一周中的第几天//给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。 //// 输入为三个整数:day、month 和 year,分别表示日、月、年。 //// 您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "F//riday", "Saturday"}。 //// //// 示例 1: //// 输入:day = 31, month = 8, year = 2

2021-03-28 09:40:20 68

原创 LeetCode89--数组序号转换、公交站间的距离

1、数组序号转换//给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。 //// 序号代表了一个元素有多大。序号编号的规则如下: //// // 序号从 1 开始编号。 // 一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。 // 每个数字的序号都应该尽可能地小。 // //// //// 示例 1: //// 输入:arr = [40,10,20,30]//输出:[4,1,2,3]//解释:40 是最大的元素。 10 是最小

2021-03-27 20:10:02 100

原创 LeetCode88--将每个元素替换为右侧最大元素、解压缩编码列表

1.将每个元素替换为右侧最大元素//给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。 //// 完成所有替换操作后,请你返回这个数组。 //// //// 示例 1: //// //输入:arr = [17,18,5,4,6,1]//输出:[18,6,6,6,1,-1]//解释://- 下标 0 的元素 --> 右侧最大元素是下标 1 的元素 (18)//- 下标 1 的元素 --> 右侧最大元素是下标 4 的元

2021-03-26 09:31:04 91

原创 LeetCode87--删除某些元素之后的数组均值、有序数组中出现次数超过25%的元素、等价多米诺骨牌对的数量

1.删除某些元素之后的数组均值//给你一个整数数组 arr ,请你删除最小 5% 的数字和最大 5% 的数字后,剩余数字的平均值。 //// 与 标准答案 误差在 10-5 的结果都被视为正确结果。 //// //// 示例 1: //// //输入:arr = [1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3]//输出:2.00000//解释:删除数组中最大和最小的元素后,所有元素都等于 2,所以平均值为 2 。// //// 示例 2:

2021-03-25 09:31:24 132

原创 LeetCode86--高度检测器、复写零

1.高度检测器//学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。 //// 请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。 //// 注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。 //// //// 示例: //// //输入:heights =[1,1,4,2,1,3]//输出:3 //解释://当前数组:[1,1,4,2,1,3]//目标数组:[1,1,1,2,3,4]//在下标 .

2021-03-24 08:49:28 44

原创 LeetCode85--被5整除的2进制前缀、拼写单词

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

2021-03-23 09:05:49 65

原创 LeetCode84--查找常用字符、将数组分成和相等的三个部分

1.查找常用字符//给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不//是 4 次,则需要在最终答案中包含该字符 3 次。 //// 你可以按任意顺序返回答案。 //// //// 示例 1: //// 输入:["bella","label","roller"]//输出:["e","l","l"]// //// 示例 2: //// 输入:["cool","loc

2021-03-22 09:51:38 65

原创 LeetCode83--数组形式的整数加法、可以被一步捕获的棋子数

1.数组形式的整数加法//对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。 //// 给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。 //// //// // //// 示例 1: //// 输入:A = [1,2,0,0], K = 34//输出:[1,2,3,4]//解释:1200 + 34 = 1234// //// 示例 2: //// 输入:

2021-03-21 15:01:12 53

原创 LeetCode82--斐波拉契数、有序数组的平方、查询后的偶数和

1.斐波拉契数//斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: //// //F(0) = 0,F(1)= 1//F(n) = F(n - 1) + F(n - 2),其中 n > 1// //// 给你 n ,请计算 F(n) 。 //// //// 示例 1: //// //输入:2//输出:1//解释:F(2) = F(1) + F(0) = 1 + 0 =.

2021-03-20 10:27:09 55

原创 LeetCode81--卡牌分组、有效的山脉数组

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

2021-03-19 09:38:39 88

原创 LeetCode80--公平的糖果交换、单调数列

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

2021-03-18 09:31:02 98

原创 LeetCode79--较大分组的位置、翻转图像、转置矩阵

1.较大分组的位置//在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。 //// 例如,在字符串 s = "abbxxxxzyy" 中,就含有 "a", "bb", "xxxx", "z" 和 "yy" 这样的一些分组。 //// 分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下标。上例中的 "xxxx" 分组用区间表示//为 [3,6] 。 //// 我们称所有包含大于或等于三个连续字符的分组

2021-03-17 09:26:12 70

原创 LeetCode78--至少是其他数字两倍的最大数、托普利茨矩阵

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

2021-03-16 09:36:29 83

原创 LeetCode77--1比特与2比特字符、寻找数组的中心下标、使用最小花费爬楼梯

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

2021-03-15 09:39:13 38

原创 LeetCode76--最长连续递增序列、数组的度

1.最长连续递增序列//给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 //// 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那//么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。 //// //// 示例 1: //// //输入:nu

2021-03-14 10:17:06 149

原创 LeetCode75--图片平滑器、非递减数列

1.图片平滑器//包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值//求平均,如果周围的单元格不足八个,则尽可能多的利用它们。 //// 示例 1: //// //输入://[[1,1,1],// [1,0,1],// [1,1,1]]//输出://[[0, 0, 0],// [0, 0, 0],// [0, 0, 0]]//解释://对于点 (0,0), (0,

2021-03-13 19:27:08 110

原创 LeetCode74--三个数的最大乘积、子数组最大平均数I

1.三个数的最大乘积//给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 //// //// 示例 1: //// //输入:nums = [1,2,3]//输出:6// //// 示例 2: //// //输入:nums = [1,2,3,4]//输出:24// //// 示例 3: //// //输入:nums = [-1,-2,-3]//输出:-6// //// //// 提示: //// // 3

2021-03-12 11:15:27 85

原创 LeetCode73--找到所有数组中消失的数字、最大连续1的个数、数组拆分I、重塑矩阵

1.找到所有数组中消失的数字//给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 //// 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 //// 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。 //// 示例: //// //输入://[4,3,2,7,8,2,3,1]////输出://[5,6]// // Rela

2021-03-11 10:27:12 127

原创 LeetCode72--移动零、第三大的数

1.移动零//给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 //// 示例: //// 输入: [0,1,0,3,12]//输出: [1,3,12,0,0] //// 说明: //// // 必须在原数组上操作,不能拷贝额外的数组。 // 尽量减少操作次数。 // // Related Topics 数组 双指针有两种方式来做这个题,一种是采用直接整个进行移动的策略,即发现一个零,我们就将其移动到最后一位,然后把零的.

2021-03-10 09:51:36 51

原创 LeetCode71--存在重复元素、存在重复元素II、汇总区间

1.存在重复元素//给定一个整数数组,判断是否存在重复元素。 //// 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 //// //// 示例 1: //// //输入: [1,2,3,1]//输出: true //// 示例 2: //// //输入: [1,2,3,4]//输出: false //// 示例 3: //// //输入: [1,1,1,3,3,4,3,2,4,2]//输出: t

2021-03-09 09:35:27 133 1

原创 LeetCode70--三维形体的表面积、缀点成线、访问所有点的最小时间

1.三维形体的表面积//给你一个 n * n 的网格 grid ,上面放置着一些 1 x 1 x 1 的正方体。 //// 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 //// 放置好正方体后,任何直接相邻的正方体都会互相粘在一起,形成一些不规则的三维形体。 //// 请你返回最终这些形体的总表面积。 //// 注意:每个形体的底面也需要计入表面积中。 //// //// // //// 示例 1: //// //

2021-03-08 09:48:30 124

原创 LeetCode69--最近的请求次数、滑动窗口的最大值

1.最近的请求次数//写一个 RecentCounter 类来计算特定时间范围内最近的请求。 //// 请你实现 RecentCounter 类: //// // RecentCounter() 初始化计数器,请求数为 0 。 // int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求//)。确切地说,返回在 [t-3000, t] 内发生的请求数。 // //// 保证 每次对

2021-03-07 10:39:00 136

原创 LeetCode68--Nim游戏、最长特殊序列I、移动石子直到连续

1.Nim游戏//你和你的朋友,两个人一起玩 Nim 游戏: //// // 桌子上有一堆石头。 // 你们轮流进行自己的回合,你作为先手。 // 每一回合,轮到的人拿掉 1 - 3 块石头。 // 拿掉最后一块石头的人就是获胜者。 // //// 假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。 ////// //// 示例 1: //// //输入:n = 4

2021-03-06 09:43:43 148

原创 LeetCode67--跳水板、汉诺塔问题

1.跳水板//你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方//法,生成跳水板所有可能的长度。 //// 返回的长度需要从小到大排列。 //// 示例 1 //// 输入://shorter = 1//longer = 2//k = 3//输出: [3,4,5,6]//解释://可以使用 3 次 shorter,得到结果 3;使用 2 次 shorter 和 1 次

2021-03-05 09:50:01 198 1

原创 LeetCode66--第N个泰波拉契数

1.第N个泰波拉契数//泰波那契序列 Tn 定义如下: //// T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2 //// 给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 //// //// 示例 1: //// 输入:n = 4//输出:4//解释://T_3 = 0 + 1 + 1 = 2//T_4 = 1 + 1 + 2 = 4// //// 示例 2: ////

2021-03-04 21:26:42 106 1

原创 LeetCode65--动物收容所

1.动物收容所//动物收容所。有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定//)的动物,或者可以挑选猫或狗(同时必须收养此类动物中“最老”的)。换言之,收养人不能自由挑选想收养的对象。请创建适用于这个系统的数据结构,实现各种操作方法,比如//enqueue、dequeueAny、dequeueDog和dequeueCat。允许使用Java内置的LinkedList数据结构。 //// enqu

2021-03-03 09:50:50 160

原创 LeetCode64--设计有序流、三合一

1.设计有序流//有 n 个 (id, value) 对,其中 id 是 1 到 n 之间的一个整数,value 是一个字符串。不存在 id 相同的两个 (id, value//) 对。 //// 设计一个流,以 任意 顺序获取 n 个 (id, value) 对,并在多次调用时 按 id 递增的顺序 返回一些值。 //// 实现 OrderedStream 类: //// // OrderedStream(int n) 构造一个能接收 n 个值的流,并将当前指针 ptr 设为 1

2021-03-02 09:58:52 110

原创 LeetCode63--设计哈希映射、设计停车系统

1.设计哈希映射//不使用任何内建的哈希表库设计一个哈希映射 //// 具体地说,你的设计应该包含以下的功能 //// // put(key, value):向哈希映射中插入(键,值)的数值对。如果键对应的值已经存在,更新这个值。 // get(key):返回给定的键所对应的值,如果映射中不包含这个键,返回-1。 // remove(key):如果映射中存在这个键,删除这个数值对。 // //// //示例: //// MyHashMap hashMap = new MyH

2021-03-01 09:28:46 93

空空如也

空空如也

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

TA关注的人

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