随笔分类 -  LintCode

偶尔刷刷题来练下头(其实就是看别人题解,基本不会做)
464. 整数排序 II
摘要:题解 快速排序,我重复复习过快速排序很多次,但是每次都不能写出来,这次算是强行再复习一次吧。 首先我们都知道,快排的过程就是选中一个基准,然后通过在数组前后分别找一个比基准大的和比基准小的进行交换,最后达到数组中在基准左边都比基准小,在右边都比基准大的效果。注意的是此时排序没完成,左边只是比基准小, 阅读全文

posted @ 2018-03-28 12:01 usp10 阅读(121) 评论(0) 推荐(0)

943. Range Sum Query - Immutable
摘要:题解 一开始我用dp[i][j]来存i到j的和,然后直接返回dp[i][j]即可,时间复杂度n*n,但提交爆内存了,那就是说可以一维数组解决咯,于是想到用dp[i]代表前i个数字的和,找i j之间就是dp[j] - dp[i-1]这里要注意是i-1,否则会多减掉一个数字,这样就出答案 阅读全文

posted @ 2018-03-27 17:59 usp10 阅读(111) 评论(0) 推荐(0)

514. 栅栏染色
摘要:题解 这题目我一直理解为所有柱子中间不存在超过3个同颜色柱子连在一起,也就是全部柱子里最多就某2个颜色相同的,我就想这题目怎么做呀。。。怎么就dp呢?完全无法推倒。后面看别人题解才发现原来是不存在连续3个相同颜色的,也就是说可以很多个相同颜色的,这样的话还可以推导,但此时我已经看答案了,所以也不知道 阅读全文

posted @ 2018-03-27 17:43 usp10 阅读(145) 评论(0) 推荐(0)

68. 二叉树的后序遍历
摘要:题目 给出一棵二叉树,返回其节点值的后序遍历。 您在真实的面试中是否遇到过这个题? Yes 题目 给出一棵二叉树,返回其节点值的后序遍历。 题目 给出一棵二叉树,返回其节点值的后序遍历。 您在真实的面试中是否遇到过这个题? Yes Yes Yes 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 阅读全文

posted @ 2018-03-26 21:09 usp10 阅读(128) 评论(0) 推荐(0)

28. 搜索二维矩阵
摘要:题目 写出一个高效的算法来搜索 m × n矩阵中的值。 这个矩阵具有以下特性: 每行中的整数从左到右是排序的。 每行的第一个数大于上一行的最后一个整数。 您在真实的面试中是否遇到过这个题? Yes 题目 写出一个高效的算法来搜索 m × n矩阵中的值。 这个矩阵具有以下特性: 每行中的整数从左到右是 阅读全文

posted @ 2018-03-21 19:19 usp10 阅读(107) 评论(0) 推荐(0)

22. 平面列表
摘要:题目 给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。 注意事项 如果给定的列表中的要素本身也是一个列表,那么它也可以包含列表。 您在真实的面试中是否遇到过这个题? Yes 题目 给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含 阅读全文

posted @ 2018-03-21 19:18 usp10 阅读(139) 评论(0) 推荐(0)

14. 二分查找
摘要:题目 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 题目 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现 阅读全文

posted @ 2018-03-20 21:23 usp10 阅读(118) 评论(0) 推荐(0)

9. Fizz Buzz 问题
摘要:题目 给你一个整数n. 从 1 到 n 按照下面的规则打印每个数: 如果这个数被3整除,打印fizz. 如果这个数被5整除,打印buzz. 如果这个数能同时被3和5整除,打印fizz buzz. 样例 比如 n = 15, 返回一个字符串数组: [ "1", "2", "fizz", "4", "b 阅读全文

posted @ 2018-03-20 20:07 usp10 阅读(158) 评论(0) 推荐(0)

8. 旋转字符串
摘要:给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 样例 对于字符串 "abcdefg". offset=0 => "abcdefg" offset=1 阅读全文

posted @ 2018-03-20 20:00 usp10 阅读(108) 评论(0) 推荐(0)

6. 合并排序数组 II
摘要:题目 合并两个排序的整数数组A和B变成一个新的数组。 样例 给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6] 挑战 你能否优化你的算法,如果其中一个数组很大而另一个数组很小? 题解 #给出的是2个排序的,就按着头一直出就好,没什么难度 def mergeS 阅读全文

posted @ 2018-03-20 19:55 usp10 阅读(146) 评论(0) 推荐(0)

2. 尾部的零
摘要:题目 设计一个算法,计算出n阶乘中尾部零的个数 题目 设计一个算法,计算出n阶乘中尾部零的个数 题目 设计一个算法,计算出n阶乘中尾部零的个数 样例 11! = 39916800,因此应该返回 2 题解 一开始就用最简单对1-n找出5的个数,然后超时了。虽然都直到是要找5,因为2肯定比5多,所以5的 阅读全文

posted @ 2018-03-20 19:19 usp10 阅读(113) 评论(0) 推荐(0)

1. A + B 问题
摘要:题目 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。 注意事项 你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b,计算他们的和并返回就行。 题目 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。 注意事项 你不需要从输入流读入数据,只需要根据ap 阅读全文

posted @ 2018-03-20 19:11 usp10 阅读(294) 评论(0) 推荐(0)

导航