
LintCode
Cold__Winter
这个作者很懒,什么都没留下…
展开
-
LintCode 1901. 有序数组的平方 Java
描述给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。样例示例1输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例2输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]注意事项1 <= A.length <= 10000-10000 <= A[i] <= 10000A 已按非递减顺序排序。思路+代码循环计算,排序后返回即可public class Solution原创 2020-11-10 09:07:54 · 276 阅读 · 0 评论 -
LintCode 1905. 字符删除 Java
题目描述输入两个字符串,从第一字符串中删除第二个字符串中所有的字符样例 1:输入: str=”They are students”,sub=”aeiou”输出: ”Thy r stdnts”注意事项String contains spaces(包含空格)1 ≤ len(str),len(sub) ≤105思路+代码第一反应就是双循环遍历,但是根据提示的长度,感觉会很费时间甚至超时,所以空间换时间,用一个hash数组记录要删除的字符(对应的ASCII码)。遍历原字符串,把不删的字原创 2020-11-09 11:29:10 · 220 阅读 · 0 评论 -
剑指 Offer 42. 连续子数组的最大和 / LeetCode 53. 最大子序和 / LintCode 41. 最大子数组
这三道题其实是一样的题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。样例输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。输入:[1,2,3,4]输出:10解释:符合要求的子数组为[1,2,3,4],其最大和为 10。思路+代码返回子数组的最大值就可以了,用一个变量记录当前累加的最大结果,一个变量记录累加结果的最大值。如果加了当前数之后,结果原创 2020-08-25 09:49:27 · 163 阅读 · 0 评论 -
LintCode 96.链表划分 Java
文章目录题目描述样例思路代码题目描述给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。样例样例 1:输入: list = null, x = 0输出: null 样例解释: 空链表本身满足要求样例 2:输入: list = 1->4->3->2->5->2->null, x = 3输出: 1->2->2->4->3->5->null 样例原创 2020-08-06 13:50:52 · 265 阅读 · 0 评论 -
日常练习:Lintcode60. 搜索插入位置 Python
题目: 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。 你可以假设在数组中无重复元素。样例: [1,3,5,6],5 → 2 [1,3,5,6],2 → 1 [1,3,5,6], 7 → 4 [1,3,5,6],0 → 0上代码:class Solution: """ ...原创 2018-02-15 23:57:17 · 266 阅读 · 0 评论 -
日常练习:lintcode49. 字符大小写排序 Python
题目: 给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。 注意事项: 小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。样例: 样例 给出”abAcD”,一个可能的答案为”acbAD”刚开始以为要正规排序后来发现其实挺简单的,用冒泡排序解决了。 上代码:class Solution: """ ...原创 2018-02-20 11:02:11 · 376 阅读 · 0 评论 -
小练习:Lintcode466. 链表节点计数 Python
题目: 计算链表中有多少个节点.样例: 给出 1->3->5, 返回 3. 就很简单的练习"""Definition of ListNodeclass ListNode(object): def __init__(self, val, next=None): self.val = val self.ne...原创 2018-03-01 23:54:33 · 565 阅读 · 0 评论 -
日常练习:Lintcode:50. 数组剔除元素后的乘积 Python
题目: 给定一个整数数组A。 定义B[i] = A[0] * … * A[i-1] * A[i+1] * … * A[n-1], 计算B的时候请不要使用除法。样例: 给出A=[1, 2, 3],返回 B为[6, 3, 2]题…不难,就循环相乘,之后加到另一个数组里面就行 上代码:class Solution: """ @param: nu...原创 2018-02-25 22:41:17 · 331 阅读 · 0 评论 -
Lintcode:763. Hex Conversion Python
题目: Given a decimal number n and an integer k, Convert decimal number n to base-k. 注意事项 1.0<=n<=2^31-1, 2<=k<=16 2.Each letter over 9 is indicated in uppercase翻译: 给定一个...原创 2018-04-07 21:01:14 · 346 阅读 · 0 评论 -
日常练习:Lintcode37. 反转一个3位整数 Python
题目: 反转一个只有3位数的整数。样例: 123 反转之后是 321。 900 反转之后是 9。就….挺简单的, 代码:class Solution: """ @param number: A 3-digit number. @return: Reversed number. """ def reverseInte...原创 2018-03-01 21:49:08 · 1736 阅读 · 5 评论 -
Lintcode:82落单的数 C++
题目:给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。样例:给出 [1,2,2,1,3,4,3],返回 4代码:// An highlighted blockclass Solution {public: /** * @param A: An integer array * @return: An intege...原创 2019-02-14 23:32:25 · 382 阅读 · 0 评论 -
Lintcode 846. 多关键字排序 C++
多关键字排序给定 n 个学生的学号(从 1 到 n 编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排序。样例1输入: array = [[2,50],[1,50],[3,100]]输出: [[3,100],[1,50],[2,50]]样例2输入: array = [[2,50],[1,50],[3,50]]输...原创 2019-05-05 17:58:40 · 942 阅读 · 0 评论 -
Lintcode 53. 翻转字符串中的单词 C++
描述给定一个字符串,逐个翻转字符串中的每个单词。说明·单词的构成:无空格字母构成一个单词,有些单词末尾会带有标点符号·输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括·如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个样例样例 1:输入: “the sky is blue”输出: “blue is sky the”样例 2:输入...原创 2019-05-05 21:24:08 · 323 阅读 · 0 评论 -
Lintcode 822. 相反的顺序存储 C++
描述给出一个链表,并将链表的值以倒序存储到数组中。您不能改变原始链表的结构。ListNode 有两个成员变量:ListNode.val 和 ListNode.next样例样例1输入: 1 -> 2 -> 3 -> null输出: [3,2,1]样例2输入: 4 -> 2 -> 1 -> null输出: [1,2,4]把链表数据存...原创 2019-05-07 17:49:12 · 351 阅读 · 0 评论 -
Lintcode 97. 二叉树的最大深度 C++
描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。样例样例 1:输入: tree = {}输出: 0 样例解释: 空树的深度是0。样例 2:输入: tree = {1,2,3,#,#,4,5}输出: 3样例解释: 树表示如下,深度是31/ \2 3/ \4 5它将被序列化为{1,2,3,#,#,4,5}思路大概就是递...原创 2019-05-13 12:38:28 · 178 阅读 · 0 评论 -
日常练习:Lintcode40. 用栈实现队列 Python
题目: 正如标题所述,你需要使用两个栈来实现队列的一些操作。 队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。 pop和top方法都应该返回第一个元素的值。样例: 比如push(1), pop(), push(2), push(3), top(), pop(),你应该返回1,2和2这个也不是很...原创 2018-02-15 22:50:22 · 194 阅读 · 0 评论 -
小练习:Lintcode463. 整数排序 Python
题目: 给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。样例: 对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。 python代码:class Solution: """ @param A: an integer array @return: nothin...原创 2018-03-06 23:20:13 · 339 阅读 · 0 评论 -
日常练习:Lintcode12. 带最小值操作的栈 Python
题目: 实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。 你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成。 注意事项: 如果堆栈中没有数字则不能进行min方法的调用样例: 如下操作:push(1),pop(),push(2),push(3),min(), push(1),min() 返回 1,2,...原创 2018-02-10 16:34:36 · 325 阅读 · 0 评论 -
日常练习:Lintcode 8:旋转字符串 Java
第二篇博客用markdown写,有点懵…不会用哇题目:给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)样例:对于字符串 “abcdefg”. offset=0 => “abcdefg” offset=1 => “gabcdef” offset=2 => “fgabcde” offset=3 => “efgabcd”个人看到原创 2018-01-22 22:07:30 · 305 阅读 · 0 评论 -
日常练习:Lintcode 3. 统计数字 Python
这个是中等题目..我感觉我比上一个那个简单题目要简单一点…题目:计算数字k在0到n中的出现的次数,k可能是0~9的一个值样例:例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)这里要注意的一点是,11这个数组算1出现了两次,这也是导致我出现了一次错误的点。因原创 2018-01-22 23:13:10 · 280 阅读 · 0 评论 -
日常练习:Lintcode 6.合并排序数组 II Python
之前的这个版本不好看,用markdown重新写一遍。题目:合并两个排序的整数数组A和B变成一个新的数组。样例:给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]这个题….由于我用的是python,所以就比较简单,直接返回两个list合并完的排序版本就可以了。代码块class Solution: """ @原创 2018-01-23 13:00:04 · 250 阅读 · 0 评论 -
日常练习:Lintcode 157. 判断字符串是否没有重复字符 Python
题目:实现一个算法确定字符串中的字符是否均唯一出现样例: 给出”abc”,返回 true 给出”aab”,返回 false这个题…我用的还是python,一句话解决直接把字符串转换成set,之后判断一下与原长度是否相等即可,简单方便。 上代码:class Solution: """ @param: str: A string @retu原创 2018-01-23 13:26:23 · 392 阅读 · 0 评论 -
日常练习:Lintcode 53. 翻转字符串 Python
题目: 给定一个字符串,逐个翻转字符串中的每个单词。说明: 单词的构成:无空格字母构成一个单词 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个思路:这个我想到的是…先分割,再反转,刚开始想复杂了,以为单词里面的字母也要反转,后来发现是把分开的各个部分看成单独的元原创 2018-01-23 13:58:03 · 440 阅读 · 0 评论 -
日常练习+讨论:Lintcode 9. Fizz Buzz 问题 Python
其实这个问题挺有名的,简单概述一下就是3换成Fizz,5换成Buzz,公倍数就FizzBuzz。 我之前在leetcode上做题的时候也遇到了,但是因为感觉简单,所以没有在意。 今天…Cisse-away突然问我是否做了这道题,我还心想这么简单的题不应该有什么蹊跷啊,但是他想问的题怎么可能简单呢, 果然,他是看了lintcode网站上的挑战,只用一个if来完成这个题,还说用python才能实原创 2018-01-23 19:36:35 · 509 阅读 · 0 评论 -
日常练习:Lintcode31. 数组划分 Python
自从上次周六做了那些题之后,就累了,断更三天了。 今天补一道题吧。题目: 给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。注意事项: 你应该真正的划分数组 nums,原创 2018-02-01 00:40:19 · 216 阅读 · 0 评论 -
日常练习:Lintcode35. 翻转链表 C++
题目:翻转一个链表样例: 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null心累…这个题以前做过,但是那个时候给定链表了,这次就考虑的比较少。 先上代码吧…/** * Definition of ListNode * * class ListNode { * public: * int val; * Lis原创 2018-01-24 22:13:03 · 224 阅读 · 0 评论 -
日常练习:Lintcode172. 删除元素 Python
题目: 给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。 元素的顺序可以改变,并且对新的数组不会有影响。样例: 给出一个数组 [0,4,4,0,0,2,4,4],和值 4 返回 4 并且4个元素的新数组为[0,0,0,2]这个题…看上去确实不难 上代码:class Solution: """ @param: A:原创 2018-01-24 22:40:48 · 291 阅读 · 0 评论 -
日常练习:Lintcode 39. 恢复旋转排序数组
题目: 给定一个旋转排序数组,在原地恢复其排序。 *说明: 什么是旋转数组? 比如,原始数组为[1,2,3,4], 则其旋转数组可以是[1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3]样例: [4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]这个题以前做过一样的,呃….之前做的是旋转,这个是恢复,排一原创 2018-01-25 17:46:58 · 235 阅读 · 0 评论 -
日常练习:lintcode56. 两数之和 Python
题目: 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。注意事项 你可以假设只有一组答案。样例: 给出 numbers = [2, 7, 11, 15], target = 9, 返回 [0, 1].上原创 2018-01-25 23:06:12 · 337 阅读 · 0 评论 -
日常练习:Lintcode5. 第k大元素 Python
题目: 在数组中找到第k大的元素样例: 给出数组 [9,3,2,4,8],第三大的元素是 4 给出数组 [1,2,3,4,5],第一大的元素是 5,第二大的元素是 4,第三大的元素是 3,以此类推不多说了,水题, 上代码class Solution: # @param k & A a integer and an array # @ret原创 2018-02-03 00:15:05 · 266 阅读 · 0 评论 -
日常练习:Lintcode64. 合并排序数组 Python
题目: 合并两个排序的整数数组A和B变成一个新的数组。样例: 给出 A = [1, 2, 3, empty, empty], B = [4, 5] 合并之后 A 将变成 [1,2,3,4,5]那啥,讲真哈,这题不难,就直接上代码了:class Solution: """ @param: A: sorted integer array A w原创 2018-01-26 21:20:21 · 476 阅读 · 0 评论 -
日常练习:Lintcode46. 主元素 Python
题目: 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。样例: 给出数组[1,1,1,1,2,2,2],返回 1讲真哈,还是个水题,唉。 也不知道明天的测验能咋样。 上代码吧:class Solution: """ @param: nums: a list of integers @return: f原创 2018-01-26 21:51:24 · 347 阅读 · 0 评论