自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 二分查找有序序列

# coding=utf-8 def findnumber(lists,num): i=0 j=len(lists)-1 mid=int(len(lists)/2) if lists[mid]>num: j=mid-1 findnumber(lists[:mid-1],num) elif list[mid]<num:

2017-09-28 17:24:31 1152

原创 offer46--实现加法

# coding=utf-8 # 不用加减乘除实现两数相加 def add(num1,num2): while num2: sum=num1^num2#异或 carry=(num1&num2)1#位与再右移得到进位 num1=sum num2=carry return num1 print(add(2,4))

2017-09-26 19:53:08 283

原创 offer45--约瑟夫环

# coding=utf-8 def lastdelete(n,m): if n1 and m1: return -1 index=0 for i in range(1,n+1): index=(index+m)%i#f[i] = (f[i-1] + m) % i 约瑟环 return index if __name__ == '

2017-09-26 17:28:12 274

原创 offer44--扑克牌的顺子

# coding=utf-8 def continus(number): if number==None or len(number)0: return 0 trans={'A':1,'J':11,'Q':12,'k':13} for i in range(len(number)):#转换 if number[i] in trans.keys

2017-09-26 17:05:11 295

原创 offer42--左旋转n个字符

# coding=utf-8 #左旋转就是分成两部分,完成3次反转即可 def leftrotate(s,n): if len(s)0 or len(s)or n0: return '' strlist=list(s) strlist=reverse(strlist) length=len(s) p=length-n frontlis

2017-09-26 14:04:34 276

原创 offer40--和为s的连续正数序列

# coding=utf-8 '''输入一个递增排序的数组和一个数字s,在数组中查找两个数,使他们的和正好时s 思路:两个指针分别指向头尾,第一个和最后一个数字相加和s判断大小,大的尾指针渐渐''' def Findsum(arry,s): if arry==None or len(arry)0 or arry[-1]+arry[-2]<s: return []

2017-09-26 11:47:31 277

原创 offer38-找数字在有序数组中出现的次数

# coding=utf-8 def GetnumK(data,k): number=0 length=len(data) if data==None and length>0: first=Getfirstk(data,length,k,0,length-1) last=Getlastk(data,length,0,length-1)

2017-09-25 17:24:01 318

原创 offer37--两个链表的公共节点

# coding=utf-8 class ListNode(): def __init__(self, x): # 定义链表节点 self.val = x self.next = None def findcommon(p1, p2): n1 = Getlength(p1) n2 = Getlength(p2) n3 = abs(n

2017-09-24 18:32:20 281

原创 offer35--第一个只出现一次的字符

# coding=utf-8 def firstnum(s): if s==None or len(s)==0: return -1 alphapet={}#定义一个空字典 alist=list(s)#将字符串放到列表里 for item in alist: if item not in alphapet.keys():

2017-09-24 15:56:40 280

原创 offer34--丑数

# coding=utf-8 #打印第N个丑数 def getugly(index): if index0: return 0 uglyNumber=[1]*index nextindex=1 index2=0 index3=0 index5=0 while nextindex<index: minval=mi

2017-09-24 15:26:16 308

原创 offer31--连续子数组的最大和

# coding=utf-8 #连续子数组的最大和 def Findgreat(arry): if arry==None or len(arry)0: return 0 msum=0 nsum=arry[0] for i in range(len(arry)): if msum0: msum=arry[i]

2017-09-24 12:08:16 253

原创 offer30--最小的k个数

# coding=utf-8 # O(nlogk)的算法, 适合海量数据 # 利用一个k容量的容器存放数组, 构造最大堆, 当下一个数据大于最大数, 跳过, # 小于最大数, 则进入容器替换之前的最大数 from offer import build, adjust def getk(data, k): if data is None or len(data) or k 0:

2017-09-24 12:05:18 242

原创 offer29--数组中出现次数超过一半的数字

#coding=utf-8 '''offer29--最开始保存两个数值:数组中的一个数字以及它出现的次数,然后遍历,如果下一个数字等于这个数字,那么次数加一,如果不等,次数减一,当次数等于0的时候,在下一个数字的时候重新复制新的数字以及出现的次数置为1,直到进行到最后,然后再验证最后留下的数字是否出现次数超过一半,因为可能前面的次数依次抵消掉,最后一个数字就直接是保留下来的数字,但是出现次数不一

2017-09-24 12:02:40 200

原创 offer33.打印能拼接出的所有数字中最小的一个

# coding=utf-8 #输入一个正整数数组,把数组里所有数字拼起来排成一个数, # offer33.打印能拼接出的所有数字中最小的一个 #思路:先把数组转成字符串,然后冒泡排序 def minNum(arry): if arry==None or len(arry)0: return '' strNum=[str(m) for m in arry]

2017-09-24 12:01:55 344

原创 offer4

# coding=utf-8 def replaces1(s): ss=''#定义一个空字符串 if type(s)!=str: return for i in s: if i==' ':#i是否等于空格 ss+='%20' else: ss+=

2017-09-23 16:25:02 232

原创 offer15

# coding=utf-8 '''求链表的倒数第k个节点 思路:两个指针保持k-1的距离'''class Listnode: def __init__(self,x): self.val=x self.next=Noneclass Solution: def findk(self,head,k): if head==None or k

2017-09-20 18:23:59 298

原创 栈+队列--python

队列--对头删除,对尾插入 http://blog.csdn.net/u010786109/article/details/40649827

2017-09-18 19:23:49 436

原创 链表

参考http://www.cnblogs.com/Freec/p/7230063.html # coding=utf-8 class Node(object): def __init__(self,item): self.item=item self.next=None class Singlelinkist(object):

2017-09-18 17:49:34 405

原创 shujuku

select语句完整语法:         select  目标表的列名或列表达式序列         from 基本表名和(或)视图序列         [where 行条件表达式]         [group by  列名序列]                [having  组条件表达式]         [order by 列名[asc | desc]] h

2017-09-07 19:43:22 387

原创 排序

插入排序包括直接插入排序和希尔排序 选择排序包括直接选择排序和推排序 交叉排序包括冒泡排序和快排 本文用python实现了插入、希尔、直接选择、堆、冒泡、归并、基排序 http://python.jobbole.com/82270/ # coding=utf-8 # 插入排序,插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部

2017-09-05 16:30:20 302

原创 树--python

# coding=utf-8 class node(object): def __init__(self,data=None,left=None,right=None): self.data=data self.left=left self.right=right #深度 def depth(tree): i

2017-09-05 14:52:13 403

空空如也

空空如也

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

TA关注的人

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