自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Broken Wings

新浪微博 Geopelia 欢迎关注多多交流~

  • 博客(14)
  • 收藏
  • 关注

原创 n个数求第k大

借用快排的思想,每次选取一个参考值,把区间分成两块,左边都小于参考值,右面都大于参考值(中间如果有剩下就是和参考值相同),然后根据k再去选择排左面还是排右面def select(a,l,r,k): i = l j = r print 'bg',i,j,k key = a[(l+r)>>1] while i<=j: while a[i]<key: i += 1 while a[

2016-02-29 00:39:16 550

原创 leetcode 15. 3Sum

给一个数组,找出所有的不相同的三元组相加为0.先排序,然后循环最小值,剩下两个值用two point从两侧向中间跑一遍,求出所有结果即可,复杂度o(n^2)。注意处理下重复class Solution(object): def threeSum(self, nums): """ :type nums: List[int] :rtype: Li

2016-02-27 23:48:51 403

原创 leetcode 14. Longest Common Prefix

给n个字符串,求最长公公前缀。直接逐位扫判断就行。class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ lenS = len(strs) i

2016-02-27 01:12:39 380

原创 leetcode 13. Roman to Integer

给一个罗马数字,转化成整数。这个就简单点了,直接从前往后扫,只需要注意一个规则,如果小单位在大单位前,小单位位负,小单位在大单位后,小单位为正。class Solution(object): def cov(self,s): if s == 'I': return 1 elif s == 'V': return 5 elif s == '

2016-02-27 01:11:39 344

原创 leetcode 12. Integer to Roman

给一个整数(1-3999),转化成落马数字。直接模拟吧,注意特盘4和9的情况。罗马数字的规则参考http://zhidao.baidu.com/link?url=aFXj4HeKQCT1gv38YE7jjHz2f0KUiGS2E2yoCMRV4c3KDa9HnWo1FOIJR6l1MthPHSsEKMLp08VfkhiZ7wh3KK大致以下几条: (1)基本数字Ⅰ、X 、C 中的任何

2016-02-27 01:08:50 355

原创 leetcode 11.Container With Most Water

给一个数组a[],整数对(i,ai)表示一个立在x轴上的隔板,求两个隔板使得隔板见可以存储最大容积的水。因为一对隔板存储的水量取决于低的板子,所以维护两个指针lp,rp如果a[lp]>a[rp],lp向后推的话得到的结果不可能比原来大,而rp向左推则可能会得到更大的答案,所以维护两个指针从两头向中间推一遍就好。class Solution(object): def maxArea(se

2016-02-27 01:06:46 324

原创 leetcode 9. Palindrome Number

判断一个数是否为回文数,直接循环判断class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ s = str(x) lenS = len(s) f

2016-02-27 00:59:00 318

原创 leetcode 8. String to Integer (atoi)

手写字符串转整数函数。细节好多,首先要处理掉前导空格,然后处理正负号,接下来往后处理时,处理到非数字字符时,立即结束返回前面得到的整数,最后如果溢出的话,返回离它最近的一个整数class Solution(object): def myAtoi(self, str): """ :type str: str :rtype: int

2016-02-27 00:58:02 292

原创 leetcode 7. Reverse Integer

给一个数,求各位翻转后的结果。还是模拟,处理下正负号就行import mathclass Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ flag = 0 if (x < 0) :

2016-02-27 00:54:48 302

原创 leetcode 6. ZigZag Conversion

给一串N型排列,把它转换成行排列。直接模拟,可以注意到,第一行和最后一行,间距都是2*step-2,第二行开始两个间距为2*step-4,2然后第一个间距依次+2,第二个间距依次-2class Solution(object): def convert(self, s, numRows): """ :type s: str :type n

2016-02-27 00:53:29 323

原创 leetcode 5. Longest Palindromic Substring

给一个字符串求最长公共字串。直接上o(n)的Manacher,方法网上很多讲的都挺详细,需要的自行百度吧class Solution(object): def pre(self,s): lenS = len(s) i = 0 res = [] while i < lenS: res.append('

2016-02-26 00:28:43 350

原创 leetcode 3

给一个字符串,求出最长的没有重复字符出现的字串。two point直接推就好,右侧指针无法后移时更新一下答案class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ i

2016-02-25 01:35:18 361

原创 leetcode 2

给两个数值域小于10的单链表,按头对齐后对应位置相加,超过10要进位,够造成一个新的单链表。。。直接相加,然后构造链表,处理下进位就行了# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# sel

2016-02-25 01:33:08 318

原创 leetcode 1

最近在学python,正好拿leetcode的题来练练基本语法也顺便补补代码量。。。好久没写代码了。。。题意大概是给一个数组和一个数,求两个下标使得这两个下标的数之和等于目标数。直接循环一个数,然后检查另一个数在不在数组里并且不能是第一个数本身,用py自带的函数解决就行了class Solution(object): def twoSum(self, nums, target)

2016-02-25 01:29:19 301

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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