自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 HashMap学习总结

HashMap学习总结基本概述数据结构组成:数组 + 链表HashMap的实现是基于哈希表的Map接口实现的非同步实现,特点:允许使用null键 和null值,但是在hashmap中是不保证顺序,即每个键值对没有按某种功能排序从源码分析来看,HashMap的构造函数中创建了一个 Entry 的数组,这个Entry 在源码中是个静态定义的类,说明,在数组table 中的每一项数据就是一个 E...

2019-07-29 15:03:15 202

原创 学习spingBoot的相关心得之建立SpringBoot项目

学习spingBoot的相关心得1.建立一个springboot项目的步骤(使用的是IDEA)使用检验是否成功的方法是通过浏览器发送一个请求,服务器返回回应。1.从一个maven项目开始建立File------>New-------->Project选中左边的maven项目然后输入对应的 groupid 和 artifactId 的值点击 finish完成一个maven文件的...

2019-07-19 17:11:01 257

原创 lincode 最佳利用率

描述给两个排序的数组。 从两个数组中各取取一个数,这两个数之和需要小于或等于k, 需要找到两数之和最大的索引组合。返回一对包含两个列表的索引。如果有多个两数之和相等的索引答案,你应该选择第一个数组索引最小的索引对。1)两数的总和<= k2)总和是最大的3)两个数组索引都尽量最小样例1输入:A = [1, 4, 6, 9], B...

2019-06-22 05:37:26 821 1

原创 lintcode 单词接龙

描述给出两个单词(start和end)和一个字典,找出从start到end的最短转换序列,输出最短序列的长度。变换规则如下:每次只能改变一个字母。变换过程中的中间单词必须在字典中出现。(起始单词和结束单词不需要出现在字典中)样例1输入:start = “a”,end = “c”,dict =[“a”,”b”,”c”]输出:2解释...

2019-06-20 02:05:49 174

原创 lintcode 编辑距离

描述给出两个单词word1和word2,计算出将word1 转换为word2的最少操作次数。你总共三种操作方法:插入一个字符删除一个字符替换一个字符样例1输入:“horse”“ros”输出: 3解释:horse -> rorse (替换 ‘h’ 为 ‘r’)rorse -> rose (删除 ‘r’)rose -&g...

2019-06-19 20:02:20 89

原创 lintcode 输出赛程表

描述在NBA季后赛期间,我们总是安排一支实力相当强的球队去和实力较弱的球队比赛,比如让排名第1的球队和第n的球队一起比赛,这是一个让比赛更有趣的好策略。现在给定n个球队,你需要以字符串的形式返回他们的最终赛程。n 组球队以正整数的形式给出,从1到n,表示它们的初始排名。排名第1的是实力最强的球队,排名n最弱的球队。我们将使用括号()...

2019-06-18 01:06:33 208

原创 lintcode 四键键盘

描述假设你有一个特殊的键盘,键盘上有如下键:键1: (A): 在屏幕上打印一个’A’。键2: (Ctrl-A): 选择整个屏幕。键3: (Ctrl-C): 复制选择到缓冲区。键4: (Ctrl-V): 在屏幕上已有的内容后面追加打印缓冲区的内容。现在,你只能按键盘上N次(使用以上四个键),找出你可以在屏幕上打印的“A”的最大数量样...

2019-06-17 10:20:49 1175

原创 lintcode 解码方法

描述有一个消息包含A-Z通过以下规则编码‘A’ -> 1‘B’ -> 2…‘Z’ -> 26现在给你一个加密过后的消息,问有几种解码的方式样例1输入: “12”输出: 2解释: 它可以被解码为 AB (1 2) 或 L (12).2输入: “10”输出: 1思路动态规划 dp[i]表示0~i的字符串的解码方式...

2019-06-16 01:48:47 2918

原创 lintcode 简单查找

描述对于两个数组,第一个数组可能包含可重复的整数,第二个数组是第一个数组的子集。返回的数组的长度与第二个数组相同。对于第二个数组中的每个元素a,第一个数组中有多少个数字<=a。样例1输入:nums = [3, 2, 4, 3, 5, 1],sub = [2, 4]输出:[2, 5]解释:<=2的数字[1,2],<=...

2019-06-15 13:09:11 178

原创 lintcode 二进制升序排序

描述考虑一个十进制整数数组,我们要根据以下规则重新排列数组:注意按二进制表示中的1个数对整数升序排序。二进制表示中具有相同数量1的元素按照十进制值升序排序。样例1输入:[12, 10, 7, 5, 6]输出:[5,6,10,12,7]解释:最初数组[12, 10, 7, 5, 6] = [1100,1010,0111,0101,0...

2019-06-14 18:23:57 1435

原创 'lintcode 换硬币'

描述给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1样例1输入:[1, 2, 5]11输出: 3解释: 11 = 5 + 5 + 12[2]3输出: -1注意你可以假设每种硬币均有无数个思路使用动态规划的思路:1.dp[j...

2019-06-13 17:24:23 150

原创 lintcode 下一个更大的数2

描述给定一个环形数组(最后一个元素的下一个元素是数组的第一个元素),为每个元素打印下一个更大的元素。 数字x的下一个更大的数是数组中下一个遍历顺序中出现的第一个更大的数字,这意味着您可以循环搜索以查找其下一个更大的数字。 如果它不存在,则为此数字输出-1。样例1输入: [1,2,1]输出: [2,-1,2]解释:第一个1的下一个更大...

2019-06-12 17:21:35 176

原创 'lintcode 二叉树的某层结点之和'

lintcode 二叉树的某层结点之和描述给出一棵二叉树和一个整数代表树的某层深度。计算二叉树的某层节点之和。样例输入:{1,2,3,4,5,6,7,#,#,8,#,#,#,#,9},2输出:5解释: 1 / \ 2 3 / \ / \4 5 6 7 / \ 8 ...

2019-06-05 22:17:09 87

原创 'lintcode 二叉树的某层结点之和'

lintcode 二叉树的某层结点之和描述给出一棵二叉树和一个整数代表树的某层深度。计算二叉树的某层节点之和。样例输入:{1,2,3,4,5,6,7,#,#,8,#,#,#,#,9},2输出:5解释: 1 / \ 2 3 / \ / \4 5 6 7 / \ 8 ...

2019-06-05 09:42:27 129

原创 lintcode 旋转字符串II

描述给出一个字符串(以字符数组形式给出),一个右偏移和一个左偏移,根据给出的偏移量循环移动字符串。(left offest表示字符串向左的偏移量,right offest表示字符串向右的偏移量,左偏移量和右偏移量计算得到总偏移量,在总偏移量处分成两段字符串并交换位置)。样例样例 1:输入:str =”abcdefg”, left ...

2019-05-03 09:24:52 102

原创 lintcode 区分用户名

描述给出一组用户名,如果有重复的请求在用户名后添加数字区别,返回修改后的数组。样例样例 1:输入:[“aa”, “bb”, “cc”, “bb”, “aa”, “aa”, “aa”]输出:[“aa”,”bb”,”cc”,”bb1”,”aa1”,”aa2”,”aa3”]解释:“bb”第二次出现输出为”bb1”“aa”第二次出现输出为...

2019-04-28 14:08:31 74

原创 lintcode 倒水

lintcode 倒水描述给定一个评估图, heights[i] 表示该地的高度。所有下标对应的地面宽度均为 1。请问V个单位的水落在下标为 K 的地面之后,每个下标对应的地面水量是多少?水首先从下标K降落,接着它依据下述规则流动:首先,液滴不能流向更高的地方;如果液滴能向左最终能下降,那么向左移动;否则,如果能向右最终能下降,则...

2019-04-16 07:48:18 112

原创 'lintcode 连接字符串'

描述给定一个字符串列表,您可以将这些字符串连接到一个循环中,在这个循环中,您可以选择将其反转。在所有可能的循环中,您需要在删除循环之后找到字母顺序最大的字符串,这将使循环字符串成为一个普通的字符串。具体来说,要找到字母顺序上最大的字符串,您需要经历两个阶段:  1:将所有字符串连接到一个循环中,在这个循环中,您可以反转某些字符串,并...

2019-04-12 23:01:34 83

原创 'lintcode 在排序数组中找最接近的K个数'

描述给一个目标数 target, 一个非负整数 k, 一个按照升序排列的数组 A。在A中找与target最接近的k个整数。返回这k个数并按照与target的接近程度从小到大排序,如果接近程度相当,那么小的数排在前面。k是一个非负整数,并且总是小于已排序数组的长度。给定数组的长度是正整数, 不会超过 10^4数组中元素的绝对值不会超过...

2019-04-12 22:56:36 165

原创 'lintcode 第k大元素'

描述在数组中找到第 k 大的元素。样例样例 1:输入:n = 1, nums = [1,3,4,2]输出:4样例 2:输入:n = 3, nums = [9,3,2,4,8]输出:4挑战要求时间复杂度为O(n),空间复杂度为O(1)。思路使用快速排序的思路,第k大的元素就是排序完成之后的第nums.size() - k位置上...

2019-04-12 22:37:52 93

原创 'lintcode 打劫房屋'

描述假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,在不触动报警装置的情况下, 你最多可以得到多少钱 。样例样例 1:...

2019-04-12 22:34:19 64

原创 'lintcode 硬币排成线2'

描述有 n 个不同价值的硬币排成一条线。两个参赛者轮流从 左边 依次拿走 1 或 2 个硬币,直到没有硬币为止。计算两个人分别拿到的硬币总价值,价值高的人获胜。请判定 先手玩家 必胜还是必败?若必胜, 返回 true, 否则返回 false.样例样例 1:输入: [1, 2, 2]输出: true解释: 先手玩家直接拿走两颗硬...

2019-04-12 21:38:48 74

原创 'lintcode 带环链表'

lintcode 带环链表描述给定一个链表,判断它是否有环。样例给出 -21->10->4->5, tail connects to node index 1,返回 true挑战不要使用额外空间思路快慢指针,如果有环,一定能在On时间内相遇。代码12345678910111213141516171819202...

2019-04-12 21:21:56 54

原创 'lintcode 骑士的最短路线'

描述给定骑士在棋盘上的 初始 位置(一个2进制矩阵 0 表示空 1 表示有障碍物),找到到达 终点 的最短路线,返回路线的长度。如果骑士不能到达则返回 -1 。说明如果骑士的位置为 (x,y),他下一步可以到达以下这些位置:(x + 1, y + 2)(x + 1, y - 2)(x - 1, y + 2)(x - 1, y - ...

2019-04-12 21:15:54 220

原创 'lintcode 打劫房屋2'

描述在上次打劫完一条街道之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子围成了一个圈,这就意味着第一间房子和最后一间房子是挨着的。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一...

2019-04-12 20:41:41 69

原创 'lintcode 反向索引'

描述创建给定文档的反向索引确保数据不包含标点符号.样例出一个包括id与内容的文档list(我们提供了document类).返回一个反向索引(hashmap的key是单词, value是文档的id).例 1:输入:[ { “id”: 1, “content”: “This is the content of doc...

2019-04-12 19:38:48 80

原创 'lintcode 两数和的最接近值'

描述给定整数数组num,从中找到两个数字使得他们和最接近target,返回两数和与 target 的差的 绝对值。样例样例1输入: nums = [-1, 2, 1, -4] 并且 target = 4输出: 1解释:最小的差距是1,(4 - (2 + 1) = 1).样例2输入: nums = [-1, -1, -1, -4]...

2019-04-12 19:34:18 103

原创 'lintcode 具有最大平均数的子树'

描述给一棵二叉树,找到有最大平均值的子树。返回子树的根结点样例样例 1输入: 1 / \ -5 11 / \ / \1 2 4 -2输出:11(它是一个TreeNode)样例 2输入: 1 / \ -5 11输出:11(它是一个TreeNode)思考使用一个函数来...

2019-04-12 19:30:08 74

原创 'lintcode 具有K个不同字符的子串'

描述给定字符串S和整数K.计算长度为K且包含K个不同字符的子串数样例String: “abcabc”K: 3Answer: 3substrings: [“abc”, “bca”, “cab”]String: “abacab”K: 3Answer: 2substrings: [“bac”, “cab”]思考维护一个数组temp...

2019-04-12 19:10:16 82

原创 'lintcode 合并排序列表'

描述将两个排序链表合并为一个新的排序链表样例样例样例 1: 输入: list1 = null, list2 = 0->3->3->null 输出: 0->3->3->null样例2: 输入: list1 = 1->3->8->11->15->n...

2019-04-12 18:30:33 45

原创 'lintcode 独特的电子邮件地址'

描述每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在 [email protected]中, alice 是本地名称,而 lintcode.com 是域名。除了小写字母,这些电子邮件还可能包含 ‘.’’ 或 ‘+’。如果在电子邮件地址的本地名称部分中的某些字符之间添加句点(’.’),则发往那里的邮件将会转...

2019-04-12 18:01:15 496

原创 'lintcode 树上最长距离'

lintcode 树上最长距离描述给出由n个结点,n-1条边组成的一棵树。求这棵树中距离最远的两个结点之间的距离。给出三个大小为n-1的数组starts,ends,lens,表示第i条边是从starts[i]连向ends[i],长度为lens[i]的无向边。返回的是树上任意两个结点的最远距离,而不是树的深度,注意给定的边是无向边。题...

2019-04-12 16:47:31 105

原创 'lintcode 频率最高的词'

@TOC描述给出一个字符串s,表示小说的内容,再给出一个list表示这些单词不参加统计,求字符串中出现频率最高的单词(如果有多个,返回字典序最小的那个)样例输入: s = “Jimmy has an apple, it is on the table, he like it”excludeWords = [“a”,”an”,”th...

2019-04-12 16:37:53 77

原创 'lintcode 两数和-小于或等于目标值'

描述给定一个整数数组,找出这个数组中有多少对的和是小于或等于目标值。返回对数。样例例1:输入: nums = [2, 7, 11, 15], target = 24.输出: 5.解释:2 + 7 < 242 + 11 < 242 + 15 < 247 + 11 < 247 + 15 < 25例2:输...

2019-04-12 16:15:30 270

原创 'lintcode 订单'

lintcode 订单问题描述现在有一个订单,对n 种商品有需求,对第 i 种商品的需求为 order[i] 个。工厂有 m 种生产模式,每种生产模式形如 [p[1],p[2],…p[n]],即同时生产第 1 种商品 p[1] 个,第 2 种商品 p[2] 个……你可以使用多种生产模式,请问在不超过任意一种商品的需求的情况下,未满足需...

2019-04-12 15:14:10 496

原创 'lintcode 硬币排成线3'

描述有 n 个硬币排成一条线,每一枚硬币有不同的价值。两个参赛者轮流从任意一边取一枚硬币,知道没有硬币为止。计算拿到的硬币总价值,价值最高的获胜。请判定 第一个玩家 是输还是赢?样例给定数组 A = [3,2,2], 返回 true.给定数组 A = [1,2,4], 返回 true.给定数组 A = [1,20,4], 返回...

2019-04-12 15:10:32 109

原创 'lintcode 最小分解'

lintcode 最小分解描述给定一个正整数a,找到最小的正整数b,它的每个数字相乘之后等于a。如果没有答案,或者答案不符合32位整数,则返回0样例给定 a = 48, 返回 68. 给定 a = 15, 返回 35.思路相当于因式分解,2~9依次尝试除即可123456789101112131415161718192021222...

2019-04-12 15:06:40 163

原创 'lintcode 滑动拼图'

描述在一块大小为 2x3 的板上,有 5 块瓦片,分别用整数 1 到 5 表示,还有一块空地用 0 表示。一次移动表示 0 与其相邻的四个方向之一的数字交换位置。当且仅当 这块板 上的瓦片摆放状态为 [[1,2,3],[4,5,0]] 时,才能说这块板存在的问题被解决了。board 会以上面讲的 2 x 3 大小的数组形式输入 ...

2019-04-12 15:03:23 98

原创 'lintcode 二叉树的所有路径'

lintcode 二叉树的所有路径 每日一练 加油描述 给一棵二叉树,找出从根节点到叶子节点的所有路径。样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ “1->2->5”, “1->3”]思路:对于某一个根节点root,他的左右...

2019-04-12 14:46:39 60

原创 'lintcode 删除排序数组中的重复数字'

lintcode 删除排序数组中的重复数字描述给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。样例给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。思路先说我的思路,删除重复的元素即可,使用vect...

2019-04-12 14:00:25 51

空空如也

空空如也

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

TA关注的人

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