lintcode:最大间隔
摘要:题目 给定一个未经排序的数组,请找出其排序表中连续两个要素的最大间距。 如果数组中的要素少于 2 个,请返回 0. 注意事项 可以假定数组中的所有要素都是非负整数,且最大不超过 32 位整数。 给定一个未经排序的数组,请找出其排序表中连续两个要素的最大间距。 如果数组中的要素少于 2 个,请返回 0
阅读全文
lintcode:删除链表中指定元素
摘要:题目 删除链表中等于给定值val的所有节点。 删除链表中等于给定值val的所有节点。 删除链表中等于给定值val的所有节点。 样例 给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。 给出链表 1->2->3->3->4->5
阅读全文
lintcode:将二叉树拆成链表
摘要:题目 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针。 注意事项 不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出。 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right
阅读全文
lintcode:整数排序||
摘要:题目 给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。 解题 归并排序
阅读全文
lintcode:整数排序
摘要:题目 给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。 解题 冒泡排序
阅读全文
lintcode:玩具工厂
摘要:题目 工厂模式是一种常见的设计模式。请实现一个玩具工厂 ToyFactory 用来产生不同的玩具类。可以假设只有猫和狗两种玩具。 题目 工厂模式是一种常见的设计模式。请实现一个玩具工厂 ToyFactory 用来产生不同的玩具类。可以假设只有猫和狗两种玩具。 题目 工厂模式是一种常见的设计模式。请实
阅读全文
lintcode:形状工厂
摘要:题目 工厂模式是一种常见的设计模式。实现一个形状工厂 ShapeFactory 来创建不同的形状类。这里我们假设只有三角形,正方形和矩形三种形状。 题目 工厂模式是一种常见的设计模式。实现一个形状工厂 ShapeFactory 来创建不同的形状类。这里我们假设只有三角形,正方形和矩形三种形状。 题目
阅读全文
lintcode:交换链表当中两个节点
摘要:题目 给你一个链表以及两个权值v1和v2,交换链表中权值为v1和v2的这两个节点。保证链表中节点权值各不相同,如果没有找到对应节点,那么什么也不用做。 注意事项 你需要交换两个节点而不是改变节点的权值 题目 给你一个链表以及两个权值v1和v2,交换链表中权值为v1和v2的这两个节点。保证链表中节点权
阅读全文
lintcode:完美平方
摘要:题目 给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n。你需要让平方数的个数最少。 给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n。你需要让平方数的个数最少。 给一个正整数 n, 找到若干个完全平方数(比如
阅读全文
lintcode: 左填充
摘要:实现一个leftpad库,如果不知道什么是leftpad可以看样例 实现一个leftpad库,如果不知道什么是leftpad可以看样例 实现一个leftpad库,如果不知道什么是leftpad可以看样例 样例 leftpad("foo", 5) >> " foo" leftpad("foobar",
阅读全文
lintcode:逆序对
摘要:题目 在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。给你一个数组,求出这个数组中逆序对的总数。概括:如果a[i] > a[j] 且 i < j, a[i] 和 a[j] 构成一个逆序对。 在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。给
阅读全文
lintcode:移动零
摘要:题目 给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序 注意事项 1.必须在原数组上操作2.最小化操作数 给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序 注意事项 1.必须在原数组上操作2.最小化操作数 给一个数组 nums
阅读全文
lintcode:两数组的交 II
摘要:题目 计算两个数组的交 注意事项 每个元素出现次数得和在数组里一样答案可以以任意顺序给出 每个元素出现次数得和在数组里一样答案可以以任意顺序给出 每个元素出现次数得和在数组里一样答案可以以任意顺序给出 样例 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2
阅读全文
lintcode:两个数组的交
摘要:题目 返回两个数组的交 样例 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2]. 解题 排序后,两指针找相等元素,注意要去除相同的元素 利用HashMap 将数组1的值唯一的保存在map中 根据map在去重
阅读全文
lintcode:打劫房屋 III
摘要:题目 打劫房屋 III 在上次打劫完一条街道之后和一圈房屋之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子组成的区域比较奇怪,聪明的窃贼考察地形之后,发现这次的地形是一颗二叉树。与前两次偷窃相似的是每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且当
阅读全文
lintcode:打劫房屋II
摘要:题目 打劫房屋II 在上次打劫完一条街道之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子围成了一个圈,这就意味着第一间房子和最后一间房子是挨着的。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。
阅读全文
lintcode:打劫房屋
摘要:题目 打劫房屋 打劫房屋 假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。 给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,你最多可以
阅读全文
lintcode:背包问题II
摘要:背包问题II 给出n个物品的体积A[i]和其价值V[i],将他们装入一个大小为m的背包,最多能装入的总价值有多大? 注意事项 A[i], V[i], n, m均为整数。你不能将物品进行切分。你所挑选的物品总体积需要小于等于给定的m。 您在真实的面试中是否遇到过这个题? Yes 背包问题II 给出n个
阅读全文
lintcode:背包问题
摘要:背包问题 在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i] 样例 如果有4个物品[2, 3, 5, 7] 如果背包的大小为11,可以选择[2, 3, 5]装入背包,最多可以装满10的空间。 如果背包的大小为12,可以选择[2, 3, 7]装入背包,最多可以
阅读全文
lintcode:组成最大的数
摘要:最大数 给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。 注意事项 最后的结果可能很大,所以我们返回一个字符串来代替这个整数。 样例 给出 [1, 20, 23, 4, 8],返回组合最大的整数应为8423201。 解题 本质上是一种排序,但是排序规则如何定义? 对于20 23 可以组
阅读全文
|
|
|