自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【leetcode 621. 任务调度器】

621. 任务调度器题目if - else 为主的条件判断问题)题目给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。然而,两个 相同种类 的任务之间必须有长度为整数 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完成所有任务所需要的 最短时间 。示.

2021-12-10 22:06:05 113

原创 【leetcode 969. 煎饼排序】

969. 煎饼排序题目if - else 为主的条件判断问题)题目给你一个整数数组 arr ,请使用 煎饼翻转 完成对数组的排序。一次煎饼翻转的执行过程如下:选择一个整数 k ,1 <= k <= arr.length反转子数组 arr[0…k-1](下标从 0 开始)例如,arr = [3,2,1,4] ,选择 k = 3 进行一次煎饼翻转,反转子数组 [3,2,1] ,得到 arr = [1,2,3,4] 。以数组形式返回能使 arr 有序的煎饼翻转操作所对应的 k 值.

2021-12-10 15:46:33 107

原创 【leetcode 860. 柠檬水找零】

860. 柠檬水找零题目if - else 为主的条件判断问题)题目在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 .

2021-12-10 13:45:27 89

原创 【leetcode 859. 亲密字符串】

859. 亲密字符串题目考虑两种情况:1.字符串相等时,考虑是否有重复字符 2.字符串不相等时,是否交换可得;)题目给你两个字符串 s 和 goal ,只要我们可以通过交换 s 中的两个字母得到与 goal 相等的结果,就返回 true ;否则返回 false 。交换字母的定义是:取两个下标 i 和 j (下标从 0 开始)且满足 i != j ,接着交换 s[i] 和 s[j] 处的字符。例如,在 “abcd” 中交换下标 0 和下标 2 的元素可以生成 “cbad” 。示例 1:.

2021-12-10 13:11:18 82

原创 【leetcode 面试题 17.09. 第 k 个数】

面试题 17.09. 第 k 个数题目使用dp + 指针)题目有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。示例 1:输入: k = 5输出: 9使用dp + 指针class Solution { public int getKthMagicNumber(int k) { int[] dp = new int[k]; .

2021-12-09 16:44:51 182

原创 【leetcode 933. 最近的请求次数】

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

2021-12-09 16:03:02 61

原创 【leetcode 1670. 设计前中后队列】

1670. 设计前中后队列题目使用两个数组使用链表题目请你设计一个队列,支持在前,中,后三个位置的 push 和 pop 操作。请你完成 FrontMiddleBack 类:FrontMiddleBack() 初始化队列。void pushFront(int val) 将 val 添加到队列的 最前面 。void pushMiddle(int val) 将 val 添加到队列的 正中间 。void pushBack(int val) 将 val 添加到队里的 最后面 。int popF.

2021-12-09 15:30:47 89

原创 【leetcode 641. 设计循环双端队列】

641. 设计循环双端队列题目使用数组题目设计实现双端队列。你的实现需要支持以下操作:MyCircularDeque(k):构造函数,双端队列的大小为k。insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 trueinsertLast():将一个元素添加到双端队列尾部。如果操作成功返回 true。deleteFront():从双端队列头部删除一个元素。 如果操作成功返回 true。deleteLast():从双端队列尾部删除一个元素。如果操作成功返回 true.

2021-12-08 16:17:32 45

原创 【leetcode 622. 设计循环队列】

622. 设计循环队列题目使用数组题目设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQueue(k): 构造器,设置队列长度为 k 。Front:.

2021-12-08 15:30:50 61

原创 【leetcode 86. 分隔链表】

86. 分隔链表题目题目给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。你应当 保留 两个分区中每个节点的初始相对位置。示例 1:输入: head = [1,4,3,2,5,2], x = 3输出: [1,2,2,4,3,5]示例 2:输入: head = [1,2], x = 2输出: [1,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl.

2021-12-08 13:56:30 67

原创 【leetcode 82. 删除排序链表中的重复元素 II】

82. 删除排序链表中的重复元素 II题目题目存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。返回同样按升序排列的结果链表。示例 1:输入: head = [1,2,3,3,4,4,5]输出: [1,2,5]示例 2:输入: head = [1,1,1,2,3]输出: [2,3]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remo.

2021-12-07 13:43:08 61

原创 【leetcode 83. 删除排序链表中的重复元素】

83. 删除排序链表中的重复元素题目使用指针题目存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。示例 1:输入: head = [1,1,2]输出: [1,2]示例 2:输入: head = [1,1,2,3,3]输出: [1,2,3]使用指针/** * Definition for singly-linked list. * public class ListNode { * .

2021-12-06 22:16:17 275

原创 【leetcode 19. 删除链表的倒数第 N 个结点】

19. 删除链表的倒数第 N 个结点题目使用指针题目给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入: head = [1,2,3,4,5], n = 2输出: [1,2,3,5]示例 2:输入: head = [1], n = 1输出: [ ]示例 3:输入: head = [1,2], n = 1输出: [1]使用.

2021-12-06 22:04:42 260

原创 【leetcode 61. 旋转链表】

61. 旋转链表题目使用位置标记环的思路题目给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。示例 1:输入: head = [1,2,3,4,5], k = 2输出: [4,5,1,2,3]示例 2:输入: head = [0,1,2], k = 4输出: [2,0,1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list-ii著作权归领扣网络所有。商业转载.

2021-12-06 21:49:45 378

原创 【leetcode 92. 反转链表 II】

92. 反转链表 II题目使用递归题目给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入: head = [1,2,3,4,5], left = 2, right = 4输出: [1,4,3,2,5]示例 2:输入: head = [5], left = 1, right = 1输出: [5]来源:力扣(LeetCode)链接.

2021-12-06 19:54:21 52

原创 【leetcode 206. 反转链表】

206. 反转链表题目使用递归题目给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入: head = [1,2,3,4,5]输出: [5,4,3,2,1]示例 2:输入: head = [1,2]输出: [2,1]示例 3:输入: head = [ ]输出: [ ]示例 4:输入: x = 0输出: 0使用递归class Solution { public ListNode reverseList(ListNode head) {.

2021-11-26 22:17:22 64

原创 【leetcode 08. 字符串转换整数 (atoi)】

7. 整数反转题目提前判断,不使用long、double等类型题目请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符.

2021-11-26 15:40:40 64

原创 【leetcode 07. 整数反转】

7. 整数反转题目使用double类型来存放中间变量题目给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [-2^31^, 2^31^ − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入: x = 123输出: 321示例 2:输入: x = -123输出: -321示例 3:输入: x = 120输出: 21示例 4:输入: x = 0输出: 0来源:.

2021-11-26 14:49:06 139

原创 【leetcode 202. 快乐数】

202. 快乐数题目使用快慢指针题目编写一个算法来判断一个数 n 是不是快乐数。快乐数定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 true ;不是,则返回 false 。示例 1:输入: n = 19输出: true解释:82 -> 68 -> 100 -> 1示例 2:输入: .

2021-11-25 19:40:07 87

原创 【leetcode 142. 环形链表 II】

142. 环形链表 II题目使用快慢指针题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。示例 1:输入: head = [3,2,0,-4], p.

2021-11-25 19:00:24 60

原创 【leetcode 141. 环形链表】

141. 环形链表题目使用快慢指针题目给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入: head = [3,2.

2021-11-25 17:22:55 57

原创 【leetcode 06. Z 字形变换】

6. Z 字形变换题目使用List+StringBuffer参考题目将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数示例 1:输入: s = “PAYPALISHIRING”, numRows = 3输出: “PAHNAPL.

2021-11-25 16:04:05 122

原创 【leetcode 05. 最长回文子串】

5. 最长回文子串题目动态规划中心扩展算法题目给你一个字符串 s,找到 s 中最长的回文子串 。示例 1:输入: s = “babad”输出: “bab”解释: “aba” 同样是符合题意的答案。示例 2:输入: s = “cbbd”输出: “bb”示例 3:输入: s = “a”输出: “a”示例 4:输入: s = “ac”输出: “a”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palind.

2021-11-25 15:20:07 42

原创 【leetcode 04. 寻找两个正序数组的中位数】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档4. 寻找两个正序数组的中位数题目排序的思想二分法题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays排序的思想使用一个ArrayList

2021-11-23 14:17:05 156

原创 【秋招智力题总结(含2021年诺瓦tplink面试题)】

那些秋招遇到的智力题前言面试里那些智力题诺瓦tplink别的智力题1.瞎子摸牌2.燃香3.保险箱的钥匙4.保证最后一个总结前言本人在秋招遇到两次智力题(分别是诺瓦科技与tplink),于是后来好好整理了一下智力题。面试里那些智力题诺瓦问题1:只有两个无刻度的水桶,一个可以装6L水,一个可以装5L水,如何在桶里装入3L的水?第一步,将6L的水桶装满,倒入5L的,将5L的装满,那么6L的水桶里还剩1L,将5L的水桶里的水倒完,将那剩余的1L水倒入5L的水桶;第二步,将6L的水桶装满,倒入5..

2021-11-22 21:51:40 2439

原创 【leetcode 03. 无重复字符的最长子串】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档3. 无重复字符的最长子串题目使用Hashmap + 移动窗口题目给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。使用Hashmap + 移动窗口class Solution { public int lengthOfLongestSubstring(String s) { Map<Character,Integer> map = new HashMap<>(

2021-11-22 21:24:34 325

空空如也

空空如也

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

TA关注的人

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