- 博客(23)
- 收藏
- 关注
原创 Lintcode:数组剔除元素后的乘积
给定一个整数数组A。 定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法。 样例 给出A=[1, 2, 3],返回 B为[6, 3, 2] Python: class Solution: """ @param: nums: Given an integers
2017-12-09 18:57:09 196
原创 Lintcode:主元素
给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。 样例 给出数组[1,1,1,1,2,2,2],返回 1 python: class Solution: """ @param: nums: a list of integers @return: find a majority number ""
2017-12-08 23:13:12 172
原创 Lintcode:最小子数组
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。 样例 给出数组[1, -1, -2, 1],返回 -3 python: class Solution: """ @param: nums: a list of integers @return: A integer indicate the sum of minimum
2017-12-08 22:15:49 201
原创 Lintcode:最大子数组
给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6 python: class Solution: """ @param: nums: A list of integers @return: A integ
2017-12-08 21:59:06 175
原创 Lintcode:恢复旋转排序数组
给定一个旋转排序数组,在原地恢复其排序。 说明 什么是旋转数组? 比如,原始数组为[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] python: class Solutio
2017-12-08 20:45:11 270 1
原创 Lintcode:翻转链表
翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null python: """ Definition of ListNode class ListNode(object): def __init__(self, val, next=None): self.val = val
2017-12-07 15:40:19 273
原创 Lintcode:插入区间
给出一个无重叠的按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 样例 插入区间[2, 5] 到 [[1,2], [5,9]],我们得到 [[1,9]]。 插入区间[3, 4] 到 [[1,2], [5,9]],我们得到 [[1,2], [3,4], [5,9]]。 python:
2017-12-07 13:27:17 1030 2
原创 Lintcode:搜索二维矩阵
写出一个高效的算法来搜索 m × n矩阵中的值。 这个矩阵具有以下特性: 每行中的整数从左到右是排序的。每行的第一个数大于上一行的最后一个整数。 样例 考虑下列矩阵: [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] 给出 target = 3,返回 true python: clas
2017-12-06 18:14:51 272
原创 Lintcode:平面列表
给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。 样例 给定 [1,2,[1,2]],返回 [1,2,1,2]。 给定 [4,[3,[2,[1]]]],返回 [4,3,2,1]。 python: class Solution(object): # @param nestedList a list,
2017-12-06 17:17:55 355
原创 Lintcode:二分查找
给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。 python: class Solution: # @param nums: The integer
2017-12-06 15:39:12 202
原创 Lintcode:字符串查找
对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。 说明 在面试中我是否需要实现KMP算法? 不需要,当这种问题出现在面试中时,面试官很可能只是想要测试一下你的基础应用能力。当然你需要先跟面试官确认清楚要怎么实现这个题。 样例
2017-12-06 15:08:35 228
原创 Lintcode:Fizz Buzz 问题
给你一个整数n. 从 1 到 n 按照下面的规则打印每个数: 如果这个数被3整除,打印fizz.如果这个数被5整除,打印buzz.如果这个数能同时被3和5整除,打印fizz buzz. 样例 比如 n = 15, 返回一个字符串数组: [ "1", "2", "fizz", "4", "buzz", "fizz", "7", "8", "fizz", "
2017-12-06 13:53:48 306
原创 Lintcode:旋转字符串
给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 样例 对于字符串 "abcdefg". offset=0 => "abcdefg" offset=1 => "gabcdef" offset=2 => "fgabcde" offset=3 => "efgabcd" python: class Solution: """
2017-12-05 17:25:28 238
原创 Lintcode:合并排序数组
合并两个排序的整数数组A和B变成一个新的数组。 样例 给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6] python: class Solution: """ @param: A: sorted integer array A @param: B: sorted integer array B @r
2017-12-05 15:58:16 250
原创 Lintcode:矩阵面积
实现一个矩阵类Rectangle,包含如下的一些成员变量与函数: 两个共有的成员变量 width 和 height 分别代表宽度和高度。一个构造函数,接受2个参数 width 和 height 来设定矩阵的宽度和高度。一个成员函数 getArea,返回这个矩阵的面积。 样例 Python: rec = Rectangle(3, 4) rec.getArea()
2017-12-05 15:07:05 500
原创 Lintcode:尾部的零
设计一个算法,计算出n阶乘中尾部零的个数 样例 11! = 39916800,因此应该返回 2 python: class Solution: """ @param: n: An integer @return: An integer, denote the number of trailing zeros in n! """ d
2017-12-05 15:02:58 201
原创 Lintcode:A + B 问题
给出两个整数a和b, 求他们的和, 但不能使用+等数学运算符。 a和b都是32位整数么? 是的 我可以使用位运算符么? 当然可以 样例 如果a=1并且b=2,返回3 python(原来可以用,现在不能了,应该是数据类型的问题): class Solution: """ @param: a: An integer @p...
2017-12-05 14:23:23 348
原创 Lintcode:删除链表中的元素
删除链表中等于给定值val的所有节点。 样例 给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。 python: """ Definition for singly-linked list. class ListNode: def __init__(self, x):
2017-12-05 13:36:59 156
原创 Lintcode:二叉树的最大节点
在二叉树中寻找值最大的节点并返回。 样例 给出如下一棵二叉树: 1 / \ -5 2 / \ / \ 0 3 -4 -5 返回值为 3 的节点。 python: class Solution: """ @param: root: the root of tree @return: the max n
2017-12-05 12:25:00 257
原创 Lintcode:链表节点计数
计算链表中有多少个节点。 样例 给出 1->3->5, 返回 3. python: """ Definition of ListNode class ListNode(object): def __init__(self, val, next=None): self.val = val self.next = next """
2017-12-05 10:34:49 1111
原创 Lintcode:整数排列
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。 样例 对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。 python: class Solution: """ @param: A: an integer array @return: """
2017-12-05 10:10:34 183
原创 Lintcode:斐波那契数列
查找斐波纳契数列中第 N 个数。 所谓的斐波纳契数列是指: 前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。 斐波纳契数列的前10个数字是: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ... 样例 给定 1,返回 0 给定 2,返回 1 给定 10,返回 34 python: c
2017-12-05 09:46:38 227
原创 深度遍历和广度遍历
在数据机构中经常需要对树型存储结构遍历,在python中不像C++需要操作很多指针: class Node(object): def __init__(self,elem = -1, lChild = None, rChild = None): self.elem = elem self.lChild = lChild self.rChil
2017-12-02 02:10:52 402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人