自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何在idea中打jar包

第一步:打开File ,选择project Structure第二步:选择Artifacts,点击 +第三步:点击 jar,选择class文件,点击OK第四步: 点击build,选择Build Artifacts...

2020-02-17 20:24:59 329

原创 【力扣】验证回文串

问题描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例:示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false思路分析:首先将字符串s中的所有字符以及数字...

2020-02-10 15:00:48 274

原创 【力扣】在排序数组中查找元素的第一个和最后一个的位置

问题描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例:示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums...

2020-02-10 14:27:14 361

原创 【力扣】二进制求和

问题描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例:示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"思路分析:首先判断两个字符串的长度,找到最长的那个,将两个字符串反转,再将短的那一...

2020-02-09 15:49:17 284

原创 【力扣】长按键入

问题描述:你的朋友正在使用键盘输入他的名字name。偶尔,在键入字符c时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回True。示例:示例 1:输入:name = "alex", typed = "aaleex"输出:true示例 2:...

2020-02-09 15:00:22 194

原创 【力扣】两数之和

问题描述:给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]分析:遍历数组,因为题上说了是两个数,所以只需要双重循环来判断哪两...

2020-02-08 22:24:32 174

原创 【力扣】加一

问题描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例:示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释:...

2020-02-08 22:11:04 248

原创 【力扣】第三大的数

问题描述:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例:示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输...

2020-02-07 23:09:48 209

原创 【力扣】寻找数组的中心索引

问题描述:给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例:示例 1:输入: nums = [1, 7, 3, 6, 5, 6]输出:...

2020-02-05 23:18:19 142

原创 【力扣】按奇偶排序数组

问题描述:给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。分析:1.建立一个新的数组用来存放需要的结果2.定义两个临时变量,一个指向新的数组的头下标,另一个指向新的数组的尾下标...

2020-02-04 21:54:09 216

原创 【力扣】有序数组的平方

问题描述:给定一个按非递减顺序排序的整数数组A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例:示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]分析:1.建立一个同样大小的int类型的数组(存放平方数)。2.将原数组中的每...

2020-02-02 22:40:29 140

原创 【力扣】仅仅反转字母

问题描述:给定一个字符串S,返回“反转后的”字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转示例:示例 1:输入:"ab-cd"输出:"dc-ba"示例 2:输入:"a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"示例 3:输入:"Test1ng-Leet=code-Q!"输出:"Qedo1ct-eeLg=n...

2020-02-02 22:37:05 188

原创 【力扣】赎金信

问题描述:给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)示例:canConstruct("a", "b") -> fa...

2020-01-26 22:17:32 173

原创 【力扣】合并有序数组

问题描述:给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m...

2020-01-22 22:57:20 125

原创 【力扣】最后一个单词的长度

问题描述:给定一个仅包含大小写字母和空格' '的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0。说明:一个单词是指仅由字母组成、不包含任何空格的 最大子字符串。示例:输入: "Hello World"输出: 5分析:从后往前来找,找到第一个碰到空格的位置,返回...

2020-01-21 16:55:34 145

原创 【力扣】搜索插入位置

问题描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例:示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输...

2020-01-15 20:58:31 252

原创 【力扣】移除元素

问题描述:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例:示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2,...

2020-01-15 20:37:25 160

原创 【力扣】旋转数组

问题描述:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 :输入: [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]分析:这个旋转数组其实就相...

2020-01-13 20:21:56 226 1

原创 【力扣】转换成小写字母

问题描述:实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例 :输入: "Hello"输出: "hello"输入: "here"输出: "here"输入: "LOVELY"输出: "lovely"分析:两种办法:1.直接调用String类的toLowerC...

2020-01-13 19:58:23 124

原创 【剑指offer】二叉搜索树的第k个结点

题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。分析:用栈的方式将它的中序遍历表示出来,它的中序遍历即是从小到大的顺序,将中序遍历放到list集合中,需要第k个结点就输出list的get方法获取第k-1下标锁对应的值。代码:/*public class TreeNode...

2020-01-06 22:47:22 99

原创 【剑指offer】把数组排成最小的数

题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。分析:将数组的所有数字依次放到list中,在对他们进行排序(以字典序的形式排列),然后在依次添加到result中。代码:import java.util.*;public cla...

2020-01-04 22:22:06 75

原创 【剑指offer】整数中1出现的次数

题目描述:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。分析:利用String类型的valueOf方法将int类...

2020-01-03 23:21:15 65

原创 【剑指offer】连续子数组的最大和

问题描述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续...

2020-01-01 18:27:14 79

原创 【剑指offer】字符串的排列

问题描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。分析:这个题的主要难点在于每个字符的所有排列,下面用的方法是使用递归来实现的,如图(用ABC来举例...

2019-12-30 22:57:47 92

原创 【剑指offer】二叉树和为某一值的路径

题目描述:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)分析:整体思路:定义一个要返回的指定类型(ArrayList<ArrayList<Integer>>)的对象result,在定义一个Arra...

2019-12-29 20:57:39 78

原创 【剑指offer】二叉搜索树与双向链表

题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。分析:利用二叉树的中序遍历方法来实现排序。首先判断给定的根节点是否为空,如果为空那么就直接返回 null ;如果不为空,那就开始遍历他的每一个节点。定义一个栈stack,用来存放每次遍历(cur)的不为空的根节点。如果cur为空了,栈中不为空的话,那么就将...

2019-12-26 13:16:24 70

原创 IO 集合中获取流的几种方式

1、获取输入流的四种方式 1) 从文件中读 public static InputStream getInputStream() throws IOException { InputStream inputStream = new FileInputStream("E:\\javacode\\src\\jing\\able\\Java\\IO\\输入...

2019-12-22 22:27:00 253

原创 【牛客网OJ题】小易的升级之路

问题描述:小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a。在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3...bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi 与c的最大公约数.那么问题来了,在一...

2019-12-03 16:11:33 391

原创 【牛客网OJ题】最高分是多少

问题描述:老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其...

2019-12-03 15:13:11 408

原创 【牛客网OJ题】数字fenlei

问题描述:给定整数正整数,请按要求对数字进行分类,并输出以下5个数字:A1 =能被5整除的数字中所有偶数的和;A2 =将被5除后余1的数字按赋予依次进行交替求和和,即计算n1-n2 + n3-n4 ...;A3 =被5除后余2的数字的个数;A4 =被5除后余3的数字的平均数,精确到小数点后1位;A5 =被5除后余4的数字中最大数字。输入描述:每个输入包含1...

2019-12-03 10:31:57 162

原创 【牛客网OJ题】链式A+B

问题描述:有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。给定两个链表ListNode* A,ListNode* B,请返回A+B的结果(ListNode*)。测试样例:{1,2,3},{3,2,1}返回:{4,4,4}分析:1.判断给的a,b链表是否为空...

2019-12-02 20:11:41 281

原创 【牛客网OJ题】到底买不买

问题描述:小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如,YrR8RrY是小红想做的珠串;那么ppRYYGrrYBR2...

2019-12-02 19:53:50 266

原创 【牛客网OJ题】合并两个有序链表

问题描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。分析:定义一个新的链表,用来存放合并后的链表,并记录该链表的头结点。1.判断list1是否为空,如果为空直接返回list2。同样,判断list2是否为空,如果为空直接返回list1。2.当list1和list2同时都不为空时,开始循环比较list1和list2的val值...

2019-12-02 19:34:43 384

原创 【牛客网OJ题】链表分割

问题描述:编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。分析:定义四个新的节点,分别用来做头插和尾插。定义一个节点,他指向给定节点的头指针。再用两个节点 s, sl 分别作为小于 x 的节点的头指针和尾指针,...

2019-11-28 21:08:11 173

原创 【牛客网OJ题】微信红包

问题描述:春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。测试样例:[1,2,3,2,2],5返回:2分析:...

2019-11-28 20:48:22 769

原创 【牛客网OJ题】子串判断

问题描述:现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串。给定一个string数组p和它的大小n,同时给定string s,为母串,请返回一个bool数组,每个元素代表p中的对应字符串是否为s的子串。保证p中的串长度小于等于8,且p中的串的个数小于等于500,同时保证s的长度小于等于1000。...

2019-11-26 22:26:59 462

原创 【牛客网OJ题】DNA序列

分析:从第一个字符开始,每n个为一组,然后开始计算GC的个数,记录第一个字符开始的下标(最终保存的是GC的个数最多的n个字符串的第一个字符的下标)。当找到全部遍历完字符串后,输出GC的个数最多的字符串。import java.util.Scanner;public class Main { public static void main(String[] args) {...

2019-11-25 12:33:42 322

原创 七大排序

1. 插入排序1.1 算法思想将整个数组a分成有序和无序两部分,有序的部分为[0, i),无序为[i,a.length)。每次取出无序中的第一个元素,将这个元素的值放到一个变量中,和有序部分中的每一个值都做比较,如果有序部分的值大于变量值,将有序的部分的这个值向后移动一个位置。1.2 时间复杂度最好: O(n)最坏: O(n^2)1.3 代码//插入排序 public v...

2019-11-24 19:06:24 112

原创 【牛客网OJ题】火车进站

问题描述:给定一个正整数N代表火车数量,0 <N <10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号。序列号。输入描述:有多组测试用例,每一组第一行输入一个正整数N(0 <N <10),第二行包括N个正整数,范围为1到9。输出描述:输出以字典序从小到大排序的火车出站序列号,每个编号以空格替换,每个输出序列换行,具体见s...

2019-11-24 14:52:41 1386

原创 【牛客网OJ题】饥饿的小易

问题描述:小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃。最开始小易在一个初始位置x_0。对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * x + 7。因为使用神秘力量要耗费太多体力,所以它只能使用神秘力量最多100,000次。贝壳总生长在能被1,000,000,007整除的位置(比如:位置0,位置1,000,000,007,位置2,000,000,...

2019-11-23 20:30:31 387

空空如也

空空如也

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

TA关注的人

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