自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

观月执白

善始者实繁,克终者盖寡

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除