![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
lintcode刷题
文章平均质量分 71
yige321
努力做一个程序员~~~~
展开
-
lintcode刷题——整数转罗马数字
lintcode之整数转罗马数字,首先题目描述如下:思路如下:1、首先将罗马数字里面一些特殊的值单独表示出来,即1000,900,500,400等;2、将这些值与对应的罗马字符存入一个map之中,以便后面对其的使用;3、将数字表示成罗马文字,将数字对这些特殊的值做除法,从大到小依次除下去,得到最终的结果。具体实现的C++代码如下:class Solution原创 2017-08-08 10:49:04 · 348 阅读 · 0 评论 -
lintcode刷题——丢失的第一个正整数
原题如下:丢失的第一个正整数 描述 笔记 数据 评测给出一个无序的正数数组,找出其中没有出现的最小正整数。您在真实的面试中是否遇到过这个题? Yes样例如果给出 [1,2,0], return 3如果给出 [3,4,-1,1], return 2做题思路:原创 2017-09-04 16:31:50 · 290 阅读 · 0 评论 -
lintcode——买卖股票的最佳时机
原题如下:买卖股票的最佳时机 描述 笔记 数据 评测假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。您在真实的面试中是否遇到过这个题? Yes样例给出一个数组样例 [3,2,3,1,2],原创 2017-08-22 21:15:03 · 323 阅读 · 0 评论 -
lintcode刷题——矩阵归零
原题如下:矩阵归零 描述 笔记 数据 评测给定一个m×n矩阵,如果一个元素是0,则将其所在行和列全部元素变成0。需要在原矩阵上完成操作。您在真实的面试中是否遇到过这个题? Yes样例给出一个矩阵[ [1, 2], [0, 3]]返回[ [0, 2],原创 2017-09-05 15:52:44 · 510 阅读 · 0 评论 -
lintcode——跳跃游戏1、2
原题如下:跳跃游戏 描述 笔记 数据 评测给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 判断你是否能到达数组的最后一个位置。 注意事项这个问题有两个方法,一个是贪心和 动态规划。贪心方法时间复杂度为O(N)。动态规划方法的原创 2017-08-24 16:07:11 · 528 阅读 · 0 评论 -
lintcode刷题——x的n次幂
原题如下:x的n次幂 描述 笔记 数据 评测实现 pow(x,n) 注意事项不用担心精度,当答案和标准输出差绝对值小于1e-3时都算正确您在真实的面试中是否遇到过这个题? Yes样例Pow(2.1, 3) = 9.261Pow(0, 1) = 0Po原创 2017-08-29 16:12:58 · 584 阅读 · 0 评论 -
lintcode刷题——搜索旋转排序数组
原题如下:搜索旋转排序数组 描述 笔记 数据 评测假设有一个排序的按未知的旋转轴旋转的数组(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。你可以假设数组中不存在重复的元素。您在真实的面试中是否遇到过这个原创 2017-08-29 19:10:18 · 440 阅读 · 0 评论 -
lintcode刷题——颜色分类
原题如下:颜色分类 描述 笔记 数据 评测给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。我们可以使用整数 0,1 和 2 分别代表红,白,蓝。 注意事项不能使用代码库中的排序函数来解决这个问题。排序需要在原数组中进行。原创 2017-09-08 09:39:08 · 437 阅读 · 0 评论 -
lintcode刷题——下一个排列
题目如下:下一个排列 描述 笔记 数据 评测给定一个若干整数的排列,给出按正数大小进行字典序从小到大排序后的下一个排列。如果没有下一个排列,则输出字典序最小的序列。您在真实的面试中是否遇到过这个题? Yes样例左边是原始排列,右边是对应的下一个排列。1,2,3 → 1,3,2原创 2017-08-30 17:02:29 · 358 阅读 · 0 评论 -
lintcode刷题——接雨水
原题如下:接雨水 描述 笔记 数据 评测Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after r原创 2017-08-31 11:09:51 · 306 阅读 · 0 评论 -
lintcode刷题——排列序号
原题如下:排列序号 描述 笔记 数据 评测给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。您在真实的面试中是否遇到过这个题? Yes样例例如,排列 [1,2,4] 是第 1 个排列。做题思路:1、最笨的方法原创 2017-08-31 14:57:18 · 381 阅读 · 0 评论 -
lintcode刷题--连续子数组求和
原题如下所示:连续子数组求和 描述 笔记 数据 评测给定一个整数数组,请找出一个连续子数组,使得该子数组的和最大。输出答案时,请分别返回第一个数字和最后一个数字的下标。(如果两个相同的答案,请返回其中任意一个)您在真实的面试中是否遇到过这个题? Yes样例给定 [-3, 1, 3,原创 2017-09-04 15:48:28 · 541 阅读 · 1 评论 -
lintcode刷题——乘积最大子序列
原题如下:乘积最大子序列 描述 笔记 数据 评测找出一个序列中乘积最大的连续子序列(至少包含一个数)。您在真实的面试中是否遇到过这个题? Yes样例比如, 序列 [2,3,-2,4] 中乘积最大的子序列为 [2,3] ,其乘积为6。做题思路如下:1、考虑原创 2017-08-22 20:18:14 · 269 阅读 · 0 评论 -
lintcode刷题——螺旋矩阵
原题如下所示:螺旋矩阵 描述 笔记 数据 评测给定一个包含 m x n 个要素的矩阵,(m 行, n 列),按照螺旋顺序,返回该矩阵中的所有要素。您在真实的面试中是否遇到过这个题? Yes样例给定如下矩阵:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9原创 2017-08-21 15:37:42 · 287 阅读 · 0 评论 -
lintcode刷题——罗马数字转整数
lintcode之罗马数字转整数,原题如下所示:具体思路如下:1、首先将罗马数字里面特殊的字符表示出来,使用switch,case语句;2、考虑到若左边的数小于右边的数,应该是相减,反之应相加,对这两种情况用一个方法表示出来。即若是左边大于先将罗马数字除了最后一位之外全部加上,若是左边小于右边,则加上负的,最后统一再加上最后一位数字表示的整数值。具体实现的c++代码如下:原创 2017-08-08 11:00:24 · 377 阅读 · 1 评论 -
lintcode刷题——快速幂
lintcode刷题之快速幂。原题如下:计算an % b,其中a,b和n都是32位的整数。您在真实的面试中是否遇到过这个题? Yes样例例如 231 % 3 = 2例如 1001000 % 1000 = 0做题思路为:1、直接算出幂再取余肯定是不可取的,因为数值太大,会溢出;2、使用取模运算乘法法则原创 2017-08-08 11:36:40 · 332 阅读 · 0 评论 -
lintcode刷题——搜索二维矩阵
lintcode刷题之搜索二维矩阵,题目如下所示:写出一个高效的算法来搜索 m × n矩阵中的值。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每行的第一个数大于上一行的最后一个整数。您在真实的面试中是否遇到过这个题? Yes样例考虑下列矩阵:[ [1, 3, 5, 7], [10, 11, 16,原创 2017-08-09 10:30:16 · 227 阅读 · 0 评论 -
lintcode刷题——和大于S的最小子数组
lintcode刷题之和大于s的最小子数组原题如下:给定一个由 n 个整数组成的数组和一个正整数 s ,请找出该数组中满足其和 ≥ s 的最小长度子数组。如果无解,则返回 -1。您在真实的面试中是否遇到过这个题? Yes样例给定数组 [2,3,1,2,4,3] 和 s = 7, 子数组 [4,3] 是该条件下的最小长度子数原创 2017-08-09 12:56:40 · 474 阅读 · 0 评论 -
lintcode刷题——打劫房屋
lintcode刷题之打劫房屋,原题如下所示:假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,你最多可以得到多少钱 在不触动报警装置的情况下。您在真实的面原创 2017-08-09 16:07:10 · 735 阅读 · 0 评论 -
lintcode刷题——最小差
原题如下:最小差 描述 笔记 数据 评测给定两个整数数组(第一个是数组 A,第二个是数组 B),在数组 A 中取 A[i],数组 B 中取 B[j],A[i] 和 B[j]两者的差越小越好(|A[i] - B[j]|)。返回最小差。您在真实的面试中是否遇到过这个题? Yes样例原创 2017-08-16 19:58:29 · 881 阅读 · 0 评论 -
lintcode刷题——两个链表的交叉
原题如下所示:两个链表的交叉 描述 笔记 数据 评测请写一个程序,找到两个单链表最开始的交叉节点。 注意事项如果两个链表没有交叉,返回null。在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。您在真实的面试中是否遇到过这个题? Yes原创 2017-08-16 20:47:36 · 286 阅读 · 0 评论 -
lintcode刷题——最长无重复字符的子串
原题如下:最长无重复字符的子串 描述 笔记 数据 评测给定一个字符串,请找出其中无重复字符的最长子字符串。您在真实的面试中是否遇到过这个题? Yes样例例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 3。对于,"bbbbb",其无重复字符的最长原创 2017-08-17 16:23:13 · 249 阅读 · 0 评论 -
lintcode刷题——装最多水的容器
lintcode刷题之装最多水的容器,原题如下所示:给定 n 个非负整数 a1, a2, ..., an, 每个数代表了坐标中的一个点 (i, ai)。画 n 条垂直线,使得 i 垂直线的两个端点分别为(i, ai)和(i, 0)。找到两条线,使得其与 x 轴共同构成一个容器,以容纳最多水。 注意事项容器不可倾斜。您在真实的面试中是否原创 2017-08-11 10:24:30 · 1268 阅读 · 0 评论 -
lintcode刷题——格雷编码
原题如下所示:格雷编码 描述 笔记 数据 评测格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个二进制的差异。给定一个非负整数 n ,表示该代码中所有二进制的总数,请找出其格雷编码顺序。一个格雷编码顺序必须以 0 开始,并覆盖所有的 2n 个整数。 注意事项对于给定的 n,其格雷编码顺序原创 2017-08-20 19:51:33 · 309 阅读 · 0 评论 -
lintcode刷题——最大正方形
原题如下:最大正方形 描述 笔记 数据 评测在一个二维01矩阵中找到全为1的最大正方形您在真实的面试中是否遇到过这个题? Yes样例1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0返回 4做题思路:1、看题应该知道要用原创 2017-10-24 17:12:38 · 583 阅读 · 0 评论