自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 汽水瓶 --- 牛客

汽水瓶题目链接题目代码题目链接添加链接描述题目题目描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入描述:输入文件最多包含10组测试数据,每个数据占一行,仅包含

2020-11-29 22:20:51 97

原创 寻找第K大 --- 牛客网

寻找第K大题目链接描述代码题目链接https://www.nowcoder.com/questionTerminal/e016ad9b7f0b45048c58a9f27ba618bf描述链接:https://www.nowcoder.com/questionTerminal/e016ad9b7f0b45048c58a9f27ba618bf来源:牛客网有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数

2020-11-29 22:03:47 165

原创 统计回文 --- 牛客

统计回文题目链接题目代码题目链接https://www.nowcoder.com/questionTerminal/9d1559511b3849deaa71b576fa7009dc题目链接:https://www.nowcoder.com/questionTerminal/9d1559511b3849deaa71b576fa7009dc来源:牛客网“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼

2020-11-29 21:41:49 118

原创 leetcode 1185.一周中的第几天 Java

一周中的第几天题目链接描述示例初始代码模板代码题目链接添加链接描述描述给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。输入为三个整数:day、month 和 year,分别表示日、月、年。您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}。提示:给出的日期一定是在 1971 到 2100 年之间的有效日期。示例示例 1:输入

2020-11-27 16:35:42 352

原创 leetcode 1184.公交站间的距离 Java

公交站间的距离题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/distance-between-bus-stops/描述环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 (i + 1) % n 的车站之间的距离。环线上的公交车都可以按顺时针和逆时针的方向行驶。返回乘客从出发点 start 到目的地 destination 之

2020-11-27 16:23:35 372

原创 leetcode 1171.从链表中删去总和值为零的连续节点 Java

从链表中删去总和值为零的连续节点题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/remove-zero-sum-consecutive-nodes-from-linked-list/描述给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。 你可以返回任何满足题目要求的答案。提示:给你的链表中可能有 1 到

2020-11-25 21:50:50 385

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

比较字符串最小字母出现频次题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/compare-strings-by-frequency-of-the-smallest-character/描述我们来定义一个函数 f(s),其中传入参数 s 是一个非空字符串;该函数的功能是统计 s  中(按字典序比较)最小字母的出现频次。例如,若 s = “dcce”,那么 f(s) = 2,

2020-11-24 22:30:47 260

原创 leetcode 525.连续数组 Java

连续数组题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/contiguous-array/描述给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度)。注意: 给定的二进制数组的长度不会超过50000。示例示例 1:输入: [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具

2020-11-22 17:14:05 207

原创 leetcode 217.存在重复元素 Java

存在重复元素题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/contains-duplicate/描述给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 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]

2020-11-22 16:52:44 276

原创 leetcode 819.最常见的单词 Java

最常见的单词题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/most-common-word/描述给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。提示:1 <= 段落长度 <= 10000 <= 禁

2020-11-22 16:47:10 386

原创 leetcode 706.设计哈希映射 Java

设计哈希映射题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/design-hashmap/描述不使用任何内建的哈希表库设计一个哈希映射具体地说,你的设计应该包含以下的功能put(key, value):向哈希映射中插入(键,值)的数值对。如果键对应的值已经存在,更新这个值。get(key):返回给定的键所对应的值,如果映射中不包含这个键,返回-1。remove(key):如果映射中存在这个键,删除这个数值对。注意:所有的

2020-11-22 09:03:43 269

原创 leetcode 705.设计哈希集合 Java

设计哈希集合题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/design-hashset/描述不使用任何内建的哈希表库设计一个哈希集合具体地说,你的设计应该包含以下的功能add(value):向哈希集合中插入一个值。contains(value) :返回哈希集合中是否存在这个值。remove(value):将给定值从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。注意:所有的值都在 [0, 1000000]的范围内。

2020-11-21 23:39:29 270

原创 leetcode 1162.地图分析 Java

地图分析题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/as-far-from-land-as-possible/描述你现在手里有一份大小为 N x N 的 网格 grid,上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的。我们这里说的距离是「曼哈顿距离」( Manhattan Distance):(x0, y0) 和 (x1,

2020-11-20 15:39:03 288

原创 leetcode 1161.最大层内元素和 Java

最大层内元素和题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/maximum-level-sum-of-a-binary-tree/描述给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。请你找出层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。提示:树中的节点数介于 1 和 10^4 之间-10^5 <= node.val <=

2020-11-20 14:49:50 178

原创 leetcode 1160.拼写单词 Java

拼写单词题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/find-words-that-can-be-formed-by-characters/描述给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写(指拼写词汇表中的一个单词)时,chars 中的每个字母都只能

2020-11-20 14:39:38 204

原创 必要掌握的二叉树题目(附OJ链接+Java参考代码)

必须掌握的二叉树题目1.二叉树前序遍历OJ链接描述示例代码递归迭代2.二叉树中序遍历OJ链接描述示例递归迭代3.二叉树后序遍历OJ链接描述示例递归迭代4.相同的树OJ链接描述示例代码5.另一个树的子树OJ链接描述示例代码6.二叉树的最大深度OJ链接描述示例代码7.判断一棵二叉树是否是平衡二叉树OJ链接描述示例代码1.二叉树前序遍历递归与非递归都得会写,建议去OJ自己测一下,如果只是复习,直接看下面代码也行。思路就不写了,OJ链接里有很多优秀的题解,写的通俗易懂有深度。下面的题目同样如此。OJ链接

2020-11-18 00:08:59 298 2

原创 leetcode 387.字符串中的第一个唯一字符 Java

字符串中的第一个唯一字符题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/first-unique-character-in-a-string/描述给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 提示:你可以假定该字符串只包含小写字母。示例示例:s = "leetcode"返回 0s = "loveleetcode"返回 2初始代码模板class Solution {

2020-11-17 23:21:36 163

原创 leetcode 349.两个数组的交集 Java

两个数组的交集题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/intersection-of-two-arrays/描述给定两个数组,编写一个函数来计算它们的交集。说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。示例示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]

2020-11-17 23:16:03 292 1

原创 leetcode 350.两个数组的交集II Java

两个数组的交集II题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/描述给定两个数组,编写一个函数来计算它们的交集。说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑输出结果的顺序。进阶:如果给定的数组已经排好序呢?你将如何优化你的算法?如果 nums1 的大小比 nums2 小很多,哪种方法更优?如果 nums2 的元素存

2020-11-17 23:07:37 234

原创 leetcode 205.同构字符串 Java

同构字符串题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/isomorphic-strings/描述给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。说明:你可以假设 s 和 t 具有相同的长度。示例示例 1:输入: s = "egg", t

2020-11-17 22:56:58 140 1

原创 leetcode 692.前K个高频单词 Java

前K个高频单词题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/top-k-frequent-words/description/描述给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。注意:假定 k 总为有效值, 1 ≤ k ≤ 集合元素数。输入的单词均由小写字母组成。 扩展练习:尝试以 O(n log k) 时间复杂度和 O(n

2020-11-14 15:23:59 376 1

原创 leetcode 658.找到K个最接近的元素 Java

找到K个最接近的元素题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/find-k-closest-elements/描述给定一个排序好的数组,两个整数 k 和 x,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。如果有两个数与 x 的差值一样,优先选择数值较小的那个数。说明:k 的值为正数,且总是小于给定排序数组的长度。数组不为空,且长度不超过 104数组里的每个元素与 x 的绝对值不超过 10

2020-11-14 00:37:27 528

原创 leetcode 165.比较版本号 Java

比较版本号题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/compare-version-numbers/描述比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。你可以假设版本字符串非空,并且只包含数字和 . 字符。 . 字符不代表小数点,而是用于分隔数字序列。例如,2.5 不是“

2020-11-13 23:36:28 210

原创 leetcode 853.车队 Java

车队题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/car-fleet/描述N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。车队 是

2020-11-13 23:12:27 385

原创 分别用递归和非递归方式实现二叉树线序、中序和后续遍历(必须掌握) --代码基本来自《程序员代码面试指南》

过程和代码来自左神的《程序员代码面试指南》,基本相同,只有细微差别。非常推荐有条件的去购买读一下,很好的一本书。分别用递归和非递归方式实现二叉树先序、中序和后序遍历1.先序遍历 递归2.中序遍历 递归3.后序遍历 递归4.先序遍历 非递归5.中序遍历 非递归6.后序遍历 非递归假设节点类如下:public class Node { public int value; public Node left; public Node right; public Node.

2020-11-13 22:02:36 332

原创 继承的设计技巧 《Java核心技术 卷 I》

本文摘自《Java核心技术 卷 I》第5章继承继承设计技巧1.将公共操作和字段放在超类中2.不要使用受保护的字段3.使用继承实现“is-a”关系4.除非所有继承的方法都有意义,否则不要使用继承5.再覆盖方法时,不要改变预期的行为6.使用多态,而不要使用类型信息7.不要滥用反射1.将公共操作和字段放在超类中2.不要使用受保护的字段有些程序员认为,将大多数的实例字段定义为protected是一个不错的注意,“以防万一”,这样子类就能够在需要的时候访问这些字段。然而,protected机制并不能够带来.

2020-11-12 16:16:44 113 1

原创 leetcode 283.移动零 Java

移动零题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/move-zeroes/描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。示例输入: [0,1,0,3,12]输出: [1,3,12,0,0]初始代码模板class Solution { public void moveZeroes(int[] n

2020-11-12 15:26:28 167

原创 leetcode 26.删除排序数组中的重复项 Java

删除排序数组中的重复项题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/描述给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递

2020-11-12 15:18:12 135

原创 leetcode 239.滑动窗口最大值 Java

滑动窗口最大值题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/sliding-window-maximum/描述给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。 进阶:你能在线性时间复杂度内解决此题吗?提示:1 <= nums.length <= 10^5-10^4 &lt

2020-11-11 22:47:30 162

原创 leetcode 373.查找和最小的K对数字 Java

查找和最小的K对数字题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/find-k-pairs-with-smallest-sums/描述给定两个以升序排列的整形数组 nums1 和 nums2, 以及一个整数 k。定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2。找到和最小的 k 对数字 (u1,v1), (u2,v2) ... (uk,vk)。示例示例 1:输入: nums1 = [1,7,

2020-11-10 16:01:28 870

原创 leetcode 1046.最后一块石头的重量 Java

最后一块石头的重量题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/last-stone-weight/描述有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,

2020-11-10 14:57:04 159

原创 CSP 202009-2 风险人群筛查 Java(100分)

202009-2 风险人群筛查题目链接解题代码题目链接http://118.190.20.162/view.page?gpid=T112解题代码直接模拟就行import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); String[] initStr = input

2020-11-09 23:03:19 297

原创 CSP 202009-1 称检测点查询 Java(100分)

CSP 202009-1 称检测点查询题目链接解题代码题目链接http://118.190.20.162/view.page?gpid=T113解题代码第一题,数据量很小,直接用数组实现了。数据量如果可以用堆,插入的时候排序。import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner inpu

2020-11-09 22:37:50 395

原创 leetcode 958.二叉树的完全性检验 Java

二叉树的完全性检验题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/check-completeness-of-a-binary-tree/描述给定一个二叉树,确定它是否是一个完全二叉树。百度百科中对完全二叉树的定义如下:若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(注:第 h 层可能包含 1~ 2h 个节点。)提示:树中将会

2020-11-09 22:02:22 306

原创 leetcode 662.二叉树最大深度 Java

二叉树最大深度题目链接描述示例初始代码模板模板题目链接https://leetcode-cn.com/problems/maximum-width-of-binary-tree/描述给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。注意: 答案在32位有符号整数的表示范围内。

2020-11-09 19:24:19 202

原创 leetcode 908.最小差值I Java

最小差值I题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/smallest-range-i/描述给你一个整数数组 A,请你给数组中的每个元素 A[i] 都加上一个任意数字 x (-K <= x <= K),从而得到一个新数组 B 。返回数组 B 的最大值和最小值之间可能存在的最小差值。提示:1 <= A.length <= 100000 <= A[i] <= 100000 <= K &

2020-11-09 16:33:06 294

原创 leetcode 355.设计推特 Java

设计推特题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/design-twitter/描述设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文。你的设计需要支持以下的几个功能:postTweet(userId, tweetId): 创建一条新的推文getNewsFeed(userId): 检索最近的十条推文。每个推文都必须是由此用户关注的人或者是用户自己发出的

2020-11-09 16:15:43 211

原创 leetcode 122.买卖股票的最佳时机II Java

买卖股票的最佳时机II题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。提示:1 <= prices.length <= 3

2020-11-08 23:28:54 127

原创 leetcode 684.冗余连接 Java

冗余连接题目连接描述示例初始代码模板代码题目连接https://leetcode-cn.com/problems/redundant-connection/描述在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向

2020-11-06 16:07:18 263

原创 leetcode 547.朋友圈 Java

朋友圈题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/friend-circles/描述班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必

2020-11-06 15:51:52 163

空空如也

空空如也

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

TA关注的人

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