- 博客(35)
- 收藏
- 关注
原创 leedcode试题 819. 最常见的单词
leedcode试题 819. 最常见的单词 给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。 题目保证至少有一个词不在禁用列表中,而且答案唯一。 禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。 示例: 输入: paragraph = “Bob hit a ball, the hit BALL flew far after it was hit.” banned = [“hit”] 输出: “
2022-04-17 10:00:55
267
原创 leecode试题 178. 分数排名
leecode试题 178. 分数排名 SQL架构 表: Scores ±------------±--------+ | Column Name | Type | ±------------±--------+ | id | int | | score | decimal | ±------------±--------+ Id是该表的主键。 该表的每一行都包含了一场比赛的分数。Score是一个有两位小数点的浮点值。 编写 SQL 查询对分数进行排序。排名按以下
2022-04-16 10:01:43
485
原创 leetcode试题 177. 第N高的薪水
leetcode试题 177. 第N高的薪水 SQL架构 表: Employee ±------------±-----+ | Column Name | Type | ±------------±-----+ | id | int | | salary | int | ±------------±-----+ Id是该表的主键列。 该表的每一行都包含有关员工工资的信息。 编写一个SQL查询来报告 Employee 表中第 n 高的工资。如果没有第 n 个最高工资,查询
2022-04-12 16:01:39
1049
原创 leetcode试题 806. 写字符串需要的行数
leetcode试题 806. 写字符串需要的行数 我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。 现在回答两个问题:至少多少行能放下S,以及最后一行使用的宽度是多少个单位?将你的答案作为长度为
2022-04-12 15:15:15
202
原创 leetcode面试题 804. 唯一摩尔斯密码词
leetcode面试题 804. 唯一摩尔斯密码词 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: ‘a’ 对应 “.-” , ‘b’ 对应 “-…” , ‘c’ 对应 “-.-.” ,以此类推。 为了方便,所有 26 个英文字母的摩尔斯密码表如下: [“.-”,“-…”,“-.-.”,“-…”,“.”,“…-.”,“–.”,“…”,“…”,“.—”,“-.-”,“.-…”,“–”,“-.”,“—”,“.–.”,“–.-”,“.-.”,“…”,“-”,“…-”
2022-04-11 15:06:44
374
原创 leetcode试题 762. 二进制表示中质数个计算置位
leetcode试题 762. 二进制表示中质数个计算置位 给你两个整数 left 和 right ,在闭区间 [left, right] 范围内,统计并返回 计算置位位数为质数 的整数个数。 计算置位位数 就是二进制表示中 1 的个数。 例如, 21 的二进制表示 10101 有 3 个计算置位。 示例 1: 输入:left = 6, right = 10 输出:4 解释: 6 -> 110 (2 个计算置位,2 是质数) 7 -> 111 (3 个计算置位,3 是质数) 9 -> 10
2022-04-05 16:13:34
864
原创 leetcode试题 744. 寻找比目标字母大的最小字母
leetcode试题 744. 寻找比目标字母大的最小字母 给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。 在比较时,字母是依序循环出现的。举个例子: 如果目标字母 target = ‘z’ 并且字符列表为 letters = [‘a’, ‘b’],则答案返回 ‘a’ 示例 1: 输入: letters = [“c”, “f”, “j”],target = “a” 输出: “c” 示例 2: 输入: l
2022-04-03 21:32:15
370
原创 leetcode试题 954. 二倍数对数组
leetcode试题 954. 二倍数对数组 给定一个长度为偶数的整数数组 arr,只有对 arr 进行重组后可以满足 “对于每个 0 <= i < len(arr) / 2,都有 arr[2 * i + 1] = 2 * arr[2 * i]” 时,返回 true;否则,返回 false。 示例 1: 输入:arr = [3,1,3,6] 输出:false 示例 2: 输入:arr = [2,1,2,6] 输出:false 示例 3: 输入:arr = [4,-2,2,-4] 输出:true
2022-04-01 15:44:44
685
原创 leetcode试题 728. 自除数
leetcode试题 728. 自除数 自除数 是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。 自除数 不允许包含 0 。 给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right] 内所有的 自除数 。 示例 1: 输入:left = 1, right = 22 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22] 示
2022-03-31 21:42:33
619
原创 leetcode试题 2024. 考试的最大困扰度——滑动窗口
leetcode试题 2024. 考试的最大困扰度 一位老师正在出一场由 n 道判断题构成的考试,每道题的答案为 true (用 ‘T’ 表示)或者 false (用 ‘F’ 表示)。老师想增加学生对自己做出答案的不确定性,方法是 最大化 有 连续相同 结果的题数。(也就是连续出现 true 或者连续出现 false)。 给你一个字符串 answerKey ,其中 answerKey[i] 是第 i 个问题的正确结果。除此以外,还给你一个整数 k ,表示你能进行以下操作的最多次数: 每次操作中,将问题的正确
2022-03-29 17:29:10
663
原创 Java交替位二进制数
leetcode试题 693. 交替位二进制数 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1: 输入:n = 5 输出:true 解释:5 的二进制表示是:101 示例 2: 输入:n = 7 输出:false 解释:7 的二进制表示是:111. 示例 3: 输入:n = 11 输出:false 解释:11 的二进制表示是:1011. 提示: 1 <= n <= 231 - 1 解答:Java class Soluti
2022-03-28 15:32:59
796
原创 leetcode试题 最长公共前缀
leetcode试题14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入:strs = [“flower”,“flow”,“flight”] 输出:“fl” 示例 2: 输入:strs = [“dog”,“racecar”,“car”] 输出:"" 解释:输入不存在公共前缀。 提示: 1 <= strs.length <= 200 0 <= strs[i].length <= 200 strs[i] 仅由小写
2022-03-26 21:15:16
167
原创 JAVA开发常见面试题
JAVA后端常见面试题 一.Java语言 1.HashMap底层原理(源码必看!)扩展:jdk1.7和1.8有什么改进?为什么长度大于8转换成红黑树?这个8怎么来的? 2.ArrayList底层原理,ArrayList和Vector的区别,LinkedList和ArrayList的区别 3.String,StringBuffer,StringBuilder的区别 扩展:String不可变有什么好处? 4.迭代器是做什么的?迭代器的fail-fast机制了解吗?主要为了解决什么问题? 5.Concurrent
2022-03-25 19:57:23
2960
原创 leetcode172. 阶乘后的零
leetcode试题 172. 阶乘后的零 给定一个整数 n ,返回 n! 结果中尾随零的数量。 提示 n! = n * (n - 1) * (n - 2) * … * 3 * 2 * 1 示例 1: 输入:n = 3 输出:0 解释:3! = 6 ,不含尾随 0 示例 2: 输入:n = 5 输出:1 解释:5! = 120 ,有一个尾随 0 示例 3: 输入:n = 0 输出:0 提示: 0 <= n <= 104 解答: n! 尾零的数量即为 n!n! 中因子 1010 的个数,而 10=
2022-03-25 19:15:20
995
原创 简易银行系统_leetcode
leetcode 2043. 简易银行系统 你的任务是为一个很受欢迎的银行设计一款程序,以自动化执行所有传入的交易(转账,存款和取款)。银行共有 n 个账户,编号从 1 到 n 。每个账号的初始余额存储在一个下标从 0 开始的整数数组 balance 中,其中第 (i + 1) 个账户的初始余额是 balance[i] 。 请你执行所有 有效的 交易。如果满足下面全部条件,则交易 有效 : 指定的账户数量在 1 和 n 之间,且 取款或者转账需要的钱的总数 小于或者等于 账户余额。 实现 Bank 类: B
2022-03-18 22:31:50
442
原创 得分最高的最小轮调
leetcode798. 得分最高的最小轮调 难度:困难 给你一个数组 nums,我们可以将它按一个非负整数 k 进行轮调,这样可以使数组变为 [nums[k], nums[k + 1], … nums[nums.length - 1], nums[0], nums[1], …, nums[k-1]] 的形式。此后,任何值小于或等于其索引的项都可以记作一分。 例如,数组为 nums = [2,4,1,3,0],我们按 k = 2 进行轮调后,它将变成 [1,3,0,2,4]。这将记为 3 分,因为 1 &g
2022-03-09 19:30:45
382
原创 Java中的append()方法
Java中的Stringbuffer类里面有append()方法,而 StringBuffer类是动态字符串数组,append()是将指定的字符串追加到此字符序列。 例如: public class Test{ public static void main(String args[]){ StringBuffer result = new StringBuffer("123"); result.append("456"); resultsBuffer.append("789")
2022-03-07 09:47:15
6217
原创 七进制数题
leetcode504. 七进制数 给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。 示例 1: 输入: num = 100 输出: “202” 示例 2: 输入: num = -7 输出: “-10” 提示: -107 <= num <= 107 解答:java class Solution { public String convertToBase7(int num) { StringBuilder result = new StringBuilder
2022-03-07 09:38:27
326
原创 记录leetcoded第一题
两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3,2,4], tar.
2022-03-06 15:06:14
476
原创 leetcode 各位相加
leetcode258. 各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 示例 1: 输入: num = 38 输出: 2 解释: 各位相加的过程为: 38 --> 3 + 8 --> 11 11 --> 1 + 1 --> 2 由于 2 是一位数,所以返回 2。 示例 1: 输入: num = 0 输出: 0 提示: 0 <= num <= 231 - 1 进阶:你可以不使用循环或者递归,在 O(1) 时间复杂度内解决这个
2022-03-03 11:07:17
596
原创 Java ArrayList remove() 方法
Java ArrayList remove() 方法 java中的remove() 方法用于删除动态数组里的单个元素。 相关语法为: arraylist.remove(Object obj) // 删除指定元素 arraylist.remove(int index) // 删除指定索引位置的元素 参数说明: obj - 要删除的元素 index - 要删除元素索引值 如果 obj 元素出现多次,则删除在动态数组中最第一次出现的元素。 * 返回方法:** 如果传入元素,删除成功,则返回 true
2022-03-01 11:18:38
1229
原创 Java List.add()方法
Java List.add()方法 Java 集合类中的 List.add() 方法用于向集合列表中添加对象。 语法1 add(A) 用于在列表的尾部插入指定元素。如果 List 集合对象由于调用 add 方法而发生更改,则返回 true;否则返回 false。 参数说明: A:要添加到列表中的元素。 语法2 void add(int index,E element) 用于在列表的指定位置插入指定元素,并将当前处于该位置的元素及其后续元素的索引加 1。 参数说明: index:用于指定在其中插入指定
2022-03-01 11:12:30
13032
原创 汉诺塔问题
leetcode面试题 08.06. 汉诺塔问题 在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制: (1) 每次只能移动一个盘子; (2) 盘子只能从柱子顶端滑出移到下一根柱子; (3) 盘子只能叠在比它大的盘子上。 请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。 你需要原地修改栈。 示例1: 输入:A = [2, 1, 0], B = [],
2022-03-01 11:06:09
147
原创 递归遍历操作
面试题 08.01. 三步问题 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4 说明: 有四种走法 示例2: 输入:n = 5 输出:13 提示: n范围在[1, 1000000]之间 解答:d[i]含义:走到i阶台阶一共有dp[i]种方式 d数组初始化: d[0]:0层台阶?没有意义,不用多管,直接赋值为null d[1]:1层台阶,只有1种方
2022-03-01 08:00:00
378
原创 二分思想求解二叉搜索树
Leetcode面试题 04.02. 最小高度树 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5 题解: /** * Definition for a binary tree node. * public c
2022-02-28 09:29:55
94
原创 跳跃法求解
Leetcode面试题 08.03. 魔术索引 魔术索引。 在数组A[0…n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。 示例1: 输入:nums = [0, 2, 3, 4, 5] 输出:0 说明: 0下标的元素为0 示例2: 输入:nums = [1, 1, 1] 输出:1 说明: nums长度在[1, 1000000]之间 此题为原书中的 Fol
2022-02-28 09:27:21
154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人