Leetcode
力扣 牛客 等题解(纯小白,努力学习中)
程序员麻薯
扶我起来,我还能再卷一会(ง •̀_•́)ง 点关注,和我一起卷╭(′▽`)╭(′▽`)╯
展开
-
Java 返回倒数第 k 个节点 | 实现一种算法,找出单向链表中倒数第 k 个节点
返回倒数第 k 个节点实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4说明:给定的k保证是有效的。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kth-node-from-end-of-list-lcci/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...原创 2021-04-18 19:27:15 · 171 阅读 · 0 评论 -
Java Z字形变换 | 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING“ 行数为 3 时,排列如下:
Z 字形变换将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "PAYPALISHIRING"行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);...原创 2021-04-18 19:12:43 · 567 阅读 · 1 评论 -
Java 移除重复节点 | 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
移除重复节点难度简单97编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2]提示:链表长度在[0, 20000]范围内。 链表元素在[0, 20000]范围内。进阶:如果不得使用临时缓冲区,该怎么解决?Java 题解/** * Definition for singly-linked list.原创 2021-04-07 09:21:11 · 285 阅读 · 0 评论 -
Java零矩阵 | 编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。
零矩阵编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。示例 1:输入:[ [1,1,1], [1,0,1], [1,1,1]]输出:[ [1,0,1], [0,0,0], [1,0,1]]示例 2:输入:[ [0,1,2,0], [3,4,5,2], [1,3,1,5]]输出:[ [0,0,0,0], [0,4,5,0], [0,3,1,0]]来源:力扣(LeetCode)Java题解原创 2021-03-14 22:44:00 · 688 阅读 · 0 评论 -
Java字符串轮转 | 字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。
字符串轮转给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。示例1: 输入:s1 = "waterbottle", s2 = "erbottlewat" 输出:True示例2: 输入:s1 = "aa", s2 = "aba"输出:False提示:字符串长度在[0, 100000]范围内。说明:你能只调用一次检查子串的方法吗?Java题解暴力求解首先想到的这题目肯定能.原创 2021-03-14 03:16:27 · 670 阅读 · 0 评论 -
Java旋转矩阵 | 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。 不占用额外内存空间能否做到?
旋转矩阵给你一幅由N × N矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3,..原创 2021-03-14 02:57:13 · 760 阅读 · 0 评论 -
Java字符串压缩 | 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的
字符串压缩字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3"示例2: 输入:"abbccd" 输出:"abbccd" 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。提示:字符串长度在[0, 50原创 2021-03-08 22:59:12 · 789 阅读 · 0 评论 -
Java一次编辑 | 字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。
一次编辑字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例1:输入:first = "pale"second = "ple"输出: True示例2:输入:first = "pales"second = "pal"输出: False来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/one-away-lcci著作权归领扣...原创 2021-03-08 22:46:52 · 849 阅读 · 0 评论 -
Java 数组移动跳跃 企业笔试题 给定一个非空的整数数组,从数组第一个元素(下标为0的元素)开始遍历进行移动,下一次向后或向前移动 该元素的值 的位数(值为正数向后移动,值为负数向前移动,值为零不移
给定一个非空的整数数组,从数组第一个元素(下标为0的元素)开始遍历进行移动,下一次向后或向前移动 该元素的值 的位数(值为正数向后移动,值为负数向前移动,值为零不移动),依次类推进行移动,若某次移动数组出现越界,则说明数组可以跳出,返回true;不能跳出则返回false;(加分项:也可考虑不增加使用其他集合数组辅助完成算法)例1:输入数组a[5] = [1,2,3,2,5];从第一个元素开始a[0]=1,下次向后移动1位到第二个元素a[1]=2,再次向后移动2位到第四个元素a[3],因为下次向后移动原创 2020-10-02 16:09:15 · 876 阅读 · 0 评论 -
剑指Offer Java 把字符串转换成整数 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0输入+21474836471a33输出21474836470第一次发现剑指offer果然厉害啊,这道题是我在58同城的面试题!(但是面试的时候还没刷到这..)public class Solution { public int原创 2020-09-26 16:12:18 · 670 阅读 · 0 评论 -
剑指Offer Java 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。Java题解public class Solution { public int MoreThanHalfNum_Solution(int [] array) { if(array == null || array.length == 0){原创 2020-09-26 15:54:23 · 395 阅读 · 0 评论 -
剑指Offer Java 最小的K个数 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。
题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。Java题解毫无疑问的想到TopK的堆排序,但是堆这东西写起来太麻烦,直接上treeSet换句话说就是让系统帮我们维护这个堆或者说是树import java.util.*;public class Solution { public ArrayList<Integer> GetLeastNumbers_Solution(int [] in原创 2020-09-26 09:24:04 · 432 阅读 · 0 评论 -
剑指Offer Java 从上往下打印二叉树 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。说明:本题目包含复杂数据结构TreeNode,点此查看相关信息.Java题解import java.util.*;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val;.原创 2020-09-25 10:55:35 · 341 阅读 · 0 评论 -
剑指Offer Java 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。Java解答import java.util.Stack;public class Solution { Stack<Integer> s = new Stack<Integer>(); Integer min = null; Integer max = null; public void push(int n.原创 2020-09-25 10:35:27 · 397 阅读 · 0 评论 -
剑指Offer Java 合并两个排序的链表 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。Java题解嗯,比较一下,那个小哪个加进来,但是好像不是很好想出来/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public List原创 2020-09-19 22:31:58 · 360 阅读 · 0 评论 -
剑指Offer Java 调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。Java题解为了避免剑指感谢信,我们不新建新数组或者List辅助,直接采用冒泡排序把它排出来public class Solution { public void reOrderArray(int [] array) { for(int i = 0; i < array.length;原创 2020-09-15 16:27:43 · 412 阅读 · 0 评论 -
剑指Offer Java数值的整数次方 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0Java题解解法1最简单的办法,直接调用Math里面的pow静态方法但是这样做容易剑指感谢信????????????import java.util.*;public class Solution { public double Power(double base, int exponent) {原创 2020-09-15 16:11:42 · 351 阅读 · 0 评论 -
剑指Offer Java二进制中1的个数 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。
题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。Java题解n ≥ 0 的时候很好理解,就是实际1的个数,如果是负数首先需要考虑是否溢出,因为反码到补码的时候我们 + 1,在开始的时候需要给他减去 1,这样反过来原码中0 的个数 正好就是补码中 1 的个数public class Solution { public int NumberOf1(int n) { if(n >= 0){ String num.原创 2020-09-15 16:05:30 · 742 阅读 · 0 评论 -
剑指Offer Java 矩形覆盖我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 比如n=3时,2*3的矩形块有3种
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?比如n=3时,2*3的矩形块有3种覆盖方法:Java解答采用递归的思想,无非就是横着两个或者竖着一个两种情况public class Solution { int num = 0; public int RectCover(int target) { if(target == 0){ r.原创 2020-09-14 11:51:57 · 620 阅读 · 0 评论 -
剑指Offer Java 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。Java题解首先我们可以确定这个题目可以使用递归完成,他有可能跳两级也可能跳一级,不管跳多少,最后都跳完就认为是一种方法public class Solution { private int num = 0; public int JumpFloor(int target) { num = 0; jump(target原创 2020-09-14 11:34:32 · 693 阅读 · 0 评论 -
剑指Offer java 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 n<=39
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39百度百科Java题解这里使用了递推公式,比内公式实在是记不住,另外感觉开方可能会进度丢失,大家可以自己试一试!public class Solution { public int Fibonacci(int n) { if(n == 0){ return 0; } .原创 2020-09-14 11:26:32 · 651 阅读 · 0 评论 -
剑指Offer Java 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组[3,4,5,1,2]为[1,
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组[3,4,5,1,2]为[1,2,3,4,5]的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。Java题解方法1:暴力法管他啥规律,直接快排嘛~耗时:181ms 内存:29556KBimport java.util.*;public class Solution { publi..原创 2020-09-14 08:39:14 · 365 阅读 · 0 评论 -
剑指Offer Java 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。Java题解一个负责入,一个负责出,因为两次先进后出就变成了先进先出注意,只有在stack2没有元素的时候才进行stack1转换stack2操作,即可保证是按照顺序的。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); .原创 2020-09-14 08:38:58 · 416 阅读 · 0 评论 -
剑指Offer Java 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。Java题解所以很明显,需要递归操作/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * .原创 2020-09-14 08:38:44 · 560 阅读 · 0 评论 -
笔试编程题 数字游戏 Java题解 牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减
题目描述牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减顺序排列,得到新的数,新数的前缀零将被忽略。得到最大数字的玩家赢得这个游戏。输入描述:输入包括两行,第一行包括一个整数n(1 ≤ n ≤ 50),即玩家的人数第二行n个整数x[i](0 ≤ x[i] ≤ 100000),即每个玩家写下的整数。输出描述:输出一个整数,表示赢得游戏的那个玩家获得的最大数字是多少。示原创 2020-09-13 11:49:34 · 813 阅读 · 0 评论 -
笔试编程题 区间表达 Java题解 牛牛的老师给出了一个区间的定义:对于x ≤ y,[x, y]表示x到y之间(包括x和y)的所有连续整数集合。例如[3,3] = {3}, [4,7] = {4,5
题目描述牛牛的老师给出了一个区间的定义:对于x ≤ y,[x, y]表示x到y之间(包括x和y)的所有连续整数集合。例如[3,3] = {3}, [4,7] = {4,5,6,7}.牛牛现在有一个长度为n的递增序列,牛牛想知道需要多少个区间并起来等于这个序列。例如:{1,2,3,4,5,6,7,8,9,10}最少只需要[1,10]这一个区间{1,3,5,6,7}最少只需要[1,1],[3,3],[5,7]这三个区间输入描述:输入包括两行,第一行一个整数n(1 ≤ n ≤ 50),第二行原创 2020-09-13 11:40:48 · 708 阅读 · 0 评论 -
笔试编程题 拼凑正方形 Java题解 牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方
题目描述牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬币才能让这四根木棍拼凑出正方形。输入描述:输入包括一行,四个整数a,b,c,d(1 ≤ a,b,c,d ≤ 10^6), 以空格分割输出描述:输出一个整数,表示牛牛最少需要支付的硬币输入4 1 5 4输出4Java题解时间限制:C/C++ 1秒,其他语言2秒.原创 2020-09-13 11:31:54 · 714 阅读 · 0 评论 -
笔试编程题 字符串价值 Java题解 有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值 例如: 字符串“abacaba“,里面包括4个‘a‘
题目描述有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值例如: 字符串"abacaba",里面包括4个'a',2个'b',1个'c',于是这个字符串的价值为4 * 4 + 2 * 2 + 1 * 1 = 21牛牛有一个字符串s,并且允许你从s中移除最多k个字符,你的目标是让得到的字符串的价值最小。输入描述:输入包括两行,第一行一个字符串s,字符串s的长度length(1 ≤ length ≤ 50),其中只包含小写字母('a'-'z原创 2020-09-13 11:17:50 · 1415 阅读 · 2 评论 -
笔试编程题 排序 Java题解 牛牛有一个长度为n的整数序列,牛牛想对这个序列进行重排为一个非严格升序序列。牛牛比较懒惰,他想移动尽量少的数就完成重排,请你帮他计算一下他最少需要移动多少个序列中的元
题目描述牛牛有一个长度为n的整数序列,牛牛想对这个序列进行重排为一个非严格升序序列。牛牛比较懒惰,他想移动尽量少的数就完成重排,请你帮他计算一下他最少需要移动多少个序列中的元素。(当一个元素不在它原来所在的位置,这个元素就是被移动了的)(题 目 来 自 牛 客 网 公 开 题 库)输入描述:输入包括两行,第一行一个整数n(1 ≤ n ≤ 50),即序列的长度第二行n个整数x[i](1 ≤ x[i] ≤ 100),即序列中的每个数输出描述:输出一个整数,即最少需要移动的元素个数原创 2020-09-13 10:36:38 · 1690 阅读 · 0 评论 -
笔试编程题 回文素数 Java题解 如果一个整数只能被1和自己整除,就称这个数是素数。 如果一个数正着反着都是一样,就称为这个数是回文数。例如:6, 66, 606, 6666 如果一个数字既是素数
题目描述如果一个整数只能被1和自己整除,就称这个数是素数。如果一个数正着反着都是一样,就称为这个数是回文数。例如:6, 66, 606, 6666如果一个数字既是素数也是回文数,就称这个数是回文素数牛牛现在给定一个区间[L, R],希望你能求出在这个区间内有多少个回文素数。输入描述:输入包括一行,一行中有两个整数(1 ≤ L ≤ R ≤ 1000)输出描述:输出一个整数,表示区间内回文素数个数。输入100 150输出2Java题解很容易想到,挨个数判原创 2020-09-13 10:26:05 · 1217 阅读 · 0 评论 -
笔试编程题 空中旅行 Java题解 牛牛有羊羊有了属于他们自己的飞机。于是他们进行几次连续的飞行。f[i]表示第i次飞行所需的燃油的升数。飞行只能按照f数组所描述的顺序进行。 起初飞机里有s升燃油,
题目描述牛牛和羊羊有了属于他们自己的飞机。于是他们进行几次连续的飞行。f[i]表示第i次飞行所需的燃油的升数。飞行只能按照f数组所描述的顺序进行。起初飞机里有s升燃油,为了正常飞行,每次飞行前飞机内燃油量应大于等于此处飞行所需要的燃油量。请帮助他们计算在不进行加油的情况下他们能进行的飞行次数。(题 目 来 自 牛 客 网)输入描述:输入包括两行,第一行包括两个整数n和s(1 ≤ n ≤ 50, 1 ≤ s ≤ 1000),分别表示计划飞行的次数和飞起初始状态下有的燃油量。第二行包括n个原创 2020-09-13 10:07:50 · 685 阅读 · 0 评论 -
笔试编程题 删除重复字符 Java题解 牛牛有一个由小写字母组成的字符串s,在s中可能有一些字母重复出现。比如在“banana“中,字母‘a‘和字母‘n‘分别出现了三次和两次。 但是牛牛不喜欢重复。
题目描述牛牛有一个由小写字母组成的字符串s,在s中可能有一些字母重复出现。比如在"banana"中,字母'a'和字母'n'分别出现了三次和两次。但是牛牛不喜欢重复。对于同一个字母,他只想保留第一次出现并删除掉后面出现的字母。请帮助牛牛完成对s的操作。输入描述输入包括一个字符串s,s的长度length(1 ≤ length ≤ 1000),s中的每个字符都是小写的英文字母('a' - 'z')输出描述输出一个字符串,表示满足牛牛要求的字符串输入banana输出b原创 2020-09-13 09:56:27 · 1487 阅读 · 1 评论 -
笔试编程题 判断题 Java题解 牛牛参加了一场考试,考试包括n道判断题,每做对一道题获得1分,牛牛考试前完全没有准备,所以考试只能看缘分了,牛牛在考试中一共猜测了t道题目的答案是“正确“,其他的牛
题目描述牛牛参加了一场考试,考试包括n道判断题,每做对一道题获得1分,牛牛考试前完全没有准备,所以考试只能看缘分了,牛牛在考试中一共猜测了t道题目的答案是"正确",其他的牛牛猜为"错误"。考试结束后牛牛知道实际上n道题中有a个题目的答案应该是"正确",但是牛牛不知道具体是哪些题目,牛牛希望你能帮助他计算可能获得的最高的考试分数是多少。输入描述输入包括一行,一行中有三个正整数n, t, a(1 ≤ n, t, a ≤ 50), 以空格分割输出描述输出一个整数,表示牛牛可能获得的最高分是原创 2020-09-13 09:44:45 · 1718 阅读 · 0 评论 -
笔试编程真题 DNA序列 Java题解 牛牛又从生物科研工作者那里获得一个任务,这次牛牛需要帮助科研工作者从DNA序列s中找出最短没有出现在DNA序列s中的DNA片段的长度。 例如:
题目描述时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 64M,其他语言128M热度指数:10250牛牛又从生物科研工作者那里获得一个任务,这次牛牛需要帮助科研工作者从DNA序列s中找出最短没有出现在DNA序列s中的DNA片段的长度。例如:s = AGGTCTA序列中包含了所有长度为1的('A','C','G','T')片段,但是长度为2的没有全部包含,例如序列中不包含"AA",所以输出2。输入描述:输入包括一个字符串s,字符串长度length(1 ≤ length ..原创 2020-09-13 09:38:07 · 573 阅读 · 0 评论 -
笔试编程真题 循环数比较
(来自牛客网公司笔试题)时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M热度指数:13583校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。题目描述对于任意两个正整数x和k,我们定义repeat(x, k)为将x重复写k次形成的数,例如repeat(1234, 3) = 123412341234,repeat(20,2) = 2020.牛牛现在给出4个整数x1, k1, x2, k2, 其中v1 = (x1,..原创 2020-09-12 22:42:30 · 365 阅读 · 0 评论 -
剑指Offer 从尾到头打印链表 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。解答其实直接用ArrayList不创建LinkedList也能对,记得是LinkedList增删快一些,然而实际代码差别似乎不大(上面是LinkedList)/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.原创 2020-09-11 22:49:54 · 265 阅读 · 0 评论 -
剑指Offer_编程题 替换空格 Java题解
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解答我也很迷为什么会有这个题,莫非我做的不是他希望我的做法??一行代码,提交能对...public class Solution { public String replaceSpace(StringBuffer str) { return str.toString().replaceAll(" ", "原创 2020-09-11 22:39:52 · 298 阅读 · 0 评论 -
剑指Offer_编程题 二维数组中的查找 Java解答
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解答(一定要防止 [[]] 报错)public class Solution { public boolean Find(int target, int [][] array) { int line = array.length; if(line ==原创 2020-09-11 22:37:16 · 287 阅读 · 0 评论 -
剑指Offer_编程题 二叉树的镜像 Java题解
因为看到多家面试都有这道题,赶紧练习一下。题目时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M热度指数:471596题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6..原创 2020-09-11 17:02:16 · 331 阅读 · 0 评论 -
5. 最长回文子串 Java解法
5. 最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"通过次数372,220提交次数1,169,765我的解法:和我们正常阅读一样,如果发现 前后两个字符 或者 下一个字符和这个当前字符 一样,认为是回文串要注意虽然看起来有冗余但是不能只执行一次while,否则类似“wwwww”这种就会.原创 2020-09-11 09:51:12 · 485 阅读 · 0 评论