力扣
@衡
这个作者很懒,什么都没留下…
展开
-
【牛客】:找出出现次数最多的单词
注:将大写的转为小写的再计算。import java.util.Arrays;import java.util.HashMap;import java.util.Iterator;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n=in.nextInt()原创 2021-08-13 22:39:42 · 342 阅读 · 0 评论 -
【牛客】:字符串中找出连续最长的数字串
链接:https://www.nowcoder.com/questionTerminal/bd891093881d4ddf9e56e7cc8416562d来源:牛客网读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例1输入abcd12345ed125ss123456789输出123456789思路:import java.util.*;publi原创 2021-07-19 16:01:56 · 939 阅读 · 1 评论 -
【剑指 Offer 】 最小的k个数
输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length <= 100000 <= arr[i] <= 10000解法:1、使用PriorityQueue(优先队列),优先原创 2021-07-19 15:16:02 · 129 阅读 · 0 评论 -
【牛客】:数组中出现次数超过一半的数字
链接:https://www.nowcoder.com/questionTerminal/e8a1b01a2df14cb2b228b30ee6a92163来源:牛客网数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。你可以假设数组是非空的,并且给定的数组总是存在多数元素。1<=数组长度<=50000示例1输入[1,2,3,2,2,2,5,4,2].原创 2021-06-11 01:22:26 · 231 阅读 · 0 评论 -
【牛客】:乒乓球筐
链接:https://www.nowcoder.com/questionTerminal/bb4f1a23dbb84fd7b77be1fbe9eaaf32来源:牛客网nowcoder有两盒(A、B)乒乓球,有红双喜的、有亚力亚的……现在他需要判别A盒是否包含了B盒中所有的种类,并且每种球的数量不少于B盒中的数量,该怎么办呢?输入描述: 输入有多组数据。每组数据包含两个字符串A、B,代表A盒与B盒中的乒乓球,每个乒乓球用一个大写字母表示,即相同类型的乒乓球为相同的大写字母。字符串长度不大于1000.原创 2021-06-10 22:03:35 · 274 阅读 · 0 评论 -
【牛客】:剪花布条
链接:https://www.nowcoder.com/questionTerminal/1046cd038f7a4b04b2b77b415973de1c来源:牛客网题目描述:一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?输入描述: 输入包含多组数据。每组数据包含两个字符串s,t,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花原创 2021-05-27 23:30:14 · 211 阅读 · 0 评论 -
【牛客】:数根
题目描述数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。再比如39,把3 和9 加起来得到12,由于12 不是一位数,因此还得把1 和2 加起来,最后得到3,这是一个一位数,因此3 是39 的数根。现在给你一个正整数,输出它的数根。输入描述:输入包含多组数据。每组数据.原创 2021-05-18 01:04:11 · 993 阅读 · 0 评论 -
【牛客】:查找组成一个偶数最接近的两个素数
链接:https://www.nowcoder.com/questionTerminal/f8538f9ae3f1484fb137789dec6eedb9来源:牛客网任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。本题含有多组样例输入。输入描述: 输入一个偶数输出描述: 输出两个素数示例1 输入 20 输出 7 13public class Main { public static void ma原创 2021-04-25 01:22:48 · 230 阅读 · 0 评论 -
【牛客】:二进制插入
链接:https://www.nowcoder.com/questionTerminal/30c1674ad5694b3f8f0bc2de6f005490来源:牛客网给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1,其中二进制的位数从0开始由低到高。测试样例: 1024,19,2,6 返回:1100import java.util.*;public class BinInsert {原创 2021-04-25 01:18:11 · 337 阅读 · 0 评论 -
【牛客】:说反话
题目描述将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割示例:输入I like beijing.输出beijing. like Iimport java.util.Scanner;public class Main { public static void原创 2021-04-13 17:52:43 · 132 阅读 · 0 评论 -
【牛客】:变成斐波那契数需要的最少步数
给定一个数字N,每步可以对它进行加1或者减1操作,求把它变成一个斐波那契数所需要的的最少步数。思路:给定的数字肯定位于两个相邻的斐波那契数的之间, 形如:··· fib[i-1] n fib[i] ···所以不我们只需要求出那个比N大第一个斐波那契数,然后比较fib[i]-n与fib[i-1]-n的绝对值,取其差值较小的,这就是最少步数。import java.util.Scanner;class Fib{ public static void...原创 2021-04-04 20:45:21 · 368 阅读 · 0 评论 -
【力扣】:二叉树(一)
二叉树相关题记:144. 二叉树的前序遍历解:class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> list=new ArrayList<>(); if(root!=null){ list.add(root.val); List<Integer> leftsu...原创 2021-03-25 23:23:59 · 146 阅读 · 0 评论 -
【力扣】:比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S = "a##c", T = "#a#c"输出:true解释:S 和 T原创 2021-03-14 19:27:31 · 132 阅读 · 2 评论 -
【力扣】: 有效的括号(括号匹配问题)
给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:tru...原创 2021-03-10 23:27:44 · 522 阅读 · 0 评论 -
【力扣】:图解 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode...原创 2021-03-08 17:13:56 · 208 阅读 · 0 评论 -
【链表】:删除链表中重复元素
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5示例1输入复制{1,2,3,3,4,4,5}返回值复制{1,2,5} class ListNode { int val; ListNode next; L原创 2021-03-04 23:33:56 · 328 阅读 · 1 评论 -
【力扣】:环形链表
给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一原创 2021-03-04 22:05:23 · 110 阅读 · 1 评论 -
【力扣】:合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2 均按 非递减顺序 排列来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merg..原创 2021-03-04 00:17:50 · 195 阅读 · 3 评论 -
【链表】:输入一个链表,输出该链表中倒数第k个结点。
题目描述输入一个链表,输出该链表中倒数第k个结点。示例1输入1,{1,2,3,4,5}返回值{5}public class Solution { //计算链表的长度 public int getLength(ListNode head){ int len=0; for(ListNode cur=head;cur!=null;cur=cur.next){ len++; }原创 2021-03-03 23:43:55 · 154 阅读 · 1 评论 -
【力扣】:链表的中间结点
876. 链表的中间结点难度简单311给定一个头结点为head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val =...原创 2021-03-03 23:24:20 · 124 阅读 · 1 评论 -
【力扣】:验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-palindrome著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明原创 2021-03-01 23:55:33 · 183 阅读 · 0 评论 -
【力扣】:在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回[-1, -1]。进阶:你可以设计并实现时间复杂度为O(log n)的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]示例 3:输入:num...原创 2021-03-01 23:46:07 · 541 阅读 · 4 评论 -
【力扣】:两数之和
给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6...原创 2021-01-26 21:37:29 · 96 阅读 · 0 评论 -
【力扣】:寻找数组的中心索引
给定一个整数类型的数组nums,请编写一个能够返回数组 “中心索引” 的方法。我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:索引 3 (nums[3] = 6) 的左侧数之和 (1 + 7 + 3 = 11),与右侧数之和 (5 + 6 ...原创 2021-01-23 17:35:29 · 94 阅读 · 0 评论 -
【力扣】:按奇偶排序数组
给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-array-by-parityclass Solution { public int...原创 2021-01-23 17:21:36 · 78 阅读 · 0 评论 -
【力扣】:仅仅反转字母
给定一个字符串S,返回“反转后的”字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。示例 1:输入:"ab-cd"输出:"dc-ba"示例 2:输入:"a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"示例 3:输入:"Test1ng-Leet=code-Q!"输出:"Qedo1ct-eeLg=ntse-T!"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-only-le...原创 2021-01-23 16:57:12 · 121 阅读 · 0 评论 -
【力扣】:长按键入
你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1:输入:name = “alex”, typed = “aaleex”输出:true解释:‘alex’ 中的 ‘a’ 和 ‘e’ 被长按。示例 2:输入:name = “saeed”, typed = “ssaaedd”输出:false解释:‘e原创 2021-01-22 00:39:28 · 80 阅读 · 0 评论 -
【力扣】:存在重复元素
给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 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]输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contains-duplicate著作权归原创 2021-01-21 18:40:29 · 161 阅读 · 0 评论 -
【力扣】:判断一个整数是否是回文数。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-number..原创 2021-01-19 13:10:31 · 148 阅读 · 0 评论 -
【力扣】: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,1,2,2,3,0,4,2], val = 2,函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。注意这五个元素...原创 2021-01-17 22:24:08 · 4595 阅读 · 0 评论 -
【力扣】:旋转数组
给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右旋转 1 步: [99,...原创 2021-01-17 21:58:22 · 234 阅读 · 0 评论