返回顶部

2020年1月1日

摘要: 【问题】 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间 阅读全文
posted @ 2020-01-01 22:28 追着子王小奔跑的顶 阅读(197) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 阅读全文
posted @ 2020-01-01 22:26 追着子王小奔跑的顶 阅读(75) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。 【代码】 class Solution { public: int compress(vector<ch 阅读全文
posted @ 2020-01-01 22:24 追着子王小奔跑的顶 阅读(143) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】 给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗? 示例: 输入: [4,3,2,7,8,2,3,1] 输出: [2,3] 【思路】注意ve 阅读全文
posted @ 2020-01-01 22:22 追着子王小奔跑的顶 阅读(121) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。给定一个数字 n,找出可形成完整阶梯行的总行数。n 是一个非负整数,并且在32位有符号整型的范围内。 【代码】 class Solution { public: int arrangeCoins(int 阅读全文
posted @ 2020-01-01 22:20 追着子王小奔跑的顶 阅读(180) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。给定一个数字 n,找出可形成完整阶梯行的总行数。n 是一个非负整数,并且在32位有符号整型的范围内。 【代码】 class Solution { public: int arrangeCoins(int 阅读全文
posted @ 2020-01-01 22:18 追着子王小奔跑的顶 阅读(161) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】 给定一组区间,对于每一个区间 i,检查是否存在一个区间 j,它的起始点大于或等于区间 i 的终点,这可以称为 j 在 i 的“右侧”。 对于任何区间,你需要存储的满足条件的区间 j 的最小索引,这意味着区间 j 有最小的起始点可以使其成为“右侧”区间。如果区间 j 不存在,则将区间 i 存 阅读全文
posted @ 2020-01-01 22:16 追着子王小奔跑的顶 阅读(222) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 1、可以认为区间的终点总是大于它的起点。 2、区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 阅读全文
posted @ 2020-01-01 22:14 追着子王小奔跑的顶 阅读(148) 评论(0) 推荐(0) 编辑