
Python
viease
nothing
展开
-
145. 大小写转换
思路将一个字符由小写字母转换为大写字母样例 a -> A b -> BPythonclass Solution: """ @param character: a character @return: a character """ def lowercaseToUppercase原创 2018-08-15 10:15:50 · 661 阅读 · 0 评论 -
111. 爬楼梯
思路假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?eg: n = 3 1 + 1 + 1 = 1 + 2 = 2 + 1 = 3,共有3种不同的方法return: 3分析: 整数拆分问题 n = (n - 1) + 1 n = (n - 2) + 2 climbStair...原创 2018-08-14 17:46:52 · 142 阅读 · 0 评论 -
9. Fizz Buzz 问题
思路给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:如果这个数被3整除,打印fizz.如果这个数被5整除,打印buzz.如果这个数能同时被3和5整除,打印fizz buzz.比如 n = 15, 返回一个字符串数组:[ "1", "2", "fizz", "4", "buzz", "fizz", "7", "8&quo原创 2018-08-14 17:42:18 · 322 阅读 · 0 评论 -
8. 旋转字符串
思路给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)样例 对于字符串 "abcdefg". offset=0 => "abcdefg" offset=1 => "gabcdef" offset=2 => "fgabcde" offset=3 => "efgabcd"Python原创 2018-08-14 17:39:58 · 345 阅读 · 0 评论 -
6. 合并排序数组 II
思路合并两个排序的整数数组A和B变成一个新的数组样例 给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]Pythonclass Solution: """ @param A: sorted integer array A @param B: sorted integer array B @ret...原创 2018-08-14 17:37:46 · 433 阅读 · 0 评论 -
5. 第k大元素
思路在数组中找到第k大的元素注意事项 你可以交换数组中的元素的位置样例 给出数组 [9,3,2,4,8],第三大的元素是 4 给出数组 [1,2,3,4,5],第一大的元素是 5,第二大的元素是 4,第三大的元素是 3,以此类推分析Pythonclass Solution: # @param k & A a integer and an...原创 2018-08-14 17:35:41 · 189 阅读 · 0 评论 -
4. 丑数 II
思路设计一个算法,找出只含素因子2,3,5 的第 n 小的数。符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12...注意事项 我们可以认为1也是一个丑数样例 如果n = 9, 返回 10分析 1是最小丑数 需要找到第n小的丑数,他的因子只含有2、3、5(可以重复) 每下一个数字可能是前面序列的数字的2,3,5倍, ...原创 2018-08-14 17:33:08 · 204 阅读 · 0 评论 -
3. 统计数字
思路计算数字k在0到n中的出现的次数,k可能是0~9的一个值样例 例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)Pythonclass Solution: """ @param: : An integer @param: : A...原创 2018-08-14 17:31:01 · 252 阅读 · 0 评论 -
2. 尾部的零
思路设计一个算法,计算出n阶乘中尾部零的个数样例 11! = 39916800,因此应该返回 2分析 x! = r (我们需要计算 r 这个数字尾部有多少个0 ) r = (尾部不为0的因子) * (10的n次方) 这里的n就是我们需要计算得到的 那么 11! = 11 * 10 * 9 * 8 ... 我们需要计算的就是10、2、5的个数。由于 ...原创 2018-08-14 17:27:47 · 231 阅读 · 0 评论 -
128. 哈希函数
思路hashcode("abcd") = (ascii(a) * 333 + ascii(b) * 332 + ascii(c) *33 + ascii(d)) % HASH_SIZE = (97* 333 + 98 * 332 + 99 * 33 +100) % HASH_SIZE = 3595978 % HASH_SI...原创 2018-08-14 17:49:07 · 301 阅读 · 0 评论 -
13. 字符串查找
思路对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。样例 如果 source = "source" 和 target = "target",返回 -1。 如果 source = "abcdabcdefg&quot原创 2018-08-15 10:14:20 · 482 阅读 · 0 评论 -
14. 二分查找
思路给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。Pythonclass Solution: # @param nums: The integer array ...原创 2018-08-15 10:15:31 · 214 阅读 · 0 评论 -
31. 数组划分
思路数组划分快排的一个Step方法一:两个指针head & tail, 交替比较直到head 和 tail 重合方法二:直接求比他小的数字的个数Pythonclass Solution: """ @param nums: The integer array you should partition @param k: An integer ...原创 2018-08-15 10:12:19 · 261 阅读 · 0 评论 -
30. 插入区间
思路插入区间[2, 5] 到 [[1,2], [5,9]],我们得到 [[1,9]]。插入区间[3, 4] 到 [[1,2], [5,9]],我们得到 [[1,2], [3,4], [5,9]]。Pythonclass Interval: def __init__(self, start, end): self.start = start ...原创 2018-08-15 10:12:46 · 269 阅读 · 0 评论 -
28. 搜索二维矩阵
思路写出一个高效的算法来搜索 m × n矩阵中的值这个矩阵具有以下特性: 每行中的整数从左到右是排序的 每行的第一个数大于上一行的最后一个整数样例 考虑下列矩阵: [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] 给出 target = 3,返回 ...原创 2018-08-15 10:13:22 · 165 阅读 · 0 评论 -
22. 平面列表
思路给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。(如果给定的列表中的要素本身也是一个列表,那么它也可以包含列表。)样例给定 [1,2,[1,2]],返回 [1,2,1,2]。给定 [4,[3,[2,[1]]]],返回 [4,3,2,1]。Pythonclass Solution(object): # @param ne...原创 2018-08-15 10:13:36 · 228 阅读 · 0 评论 -
204. 单例
思路单例 是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例。例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 singleton 模式你的任务是设计一个 getInstance 方法,对于给定的类,每次调用 getInstance 时,都可得到同一个实例样例 在 Java 中: ...原创 2018-08-16 16:38:26 · 281 阅读 · 0 评论 -
181. 将整数A转换为B
思路如果要将整数A转换为B,需要改变多少个bit位?Both n and m are 32-bit integers.如把31转换为14,需要改变2个bit位。(31)10=(011111)2(14)10=(001110)2(67)10=(100011)2(1)10 =(000001)2(-1)10=(111111)分析: 可以转换为 A^B 的二进制 1 的数量 ...原创 2018-08-15 10:17:19 · 266 阅读 · 0 评论 -
167. 链表求和
思路你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。给出两个链表 3->1->5->null + 5->9->2->null = 8->0->8->nullDefinitio原创 2018-08-15 10:17:11 · 253 阅读 · 0 评论 -
157. 判断字符串是否没有重复字符
思路实现一个算法确定字符串中的字符是否均唯一出现样例 给出"abc",返回 true 给出"aab",返回 falsePythonclass Solution: """ @param: str: A string @return: a boolean """原创 2018-08-15 10:17:02 · 537 阅读 · 0 评论 -
1. A + B 问题
思路模拟二进制计算1.先转化为2个二进制数2.二进制数相加,因为加法结合律 (a + b) + c = a + (b + c) 推出 a + b = (a - c) + (b - d) + (c + d)3.采用^ 和 & 来获得两个数的 相加不进位的结果(a ^ b) 和 只进位的结果((a & b) << 1)4.结合2和3,通过拆分数字可以得到 a +...原创 2018-08-14 17:24:25 · 149 阅读 · 0 评论 -
python学习之--安装IDE(eclipse+pydev)
First stepsdownload eclipseurl:http://www.eclipse.org/downloads/select Help -> Install New Software click Add Repository buttonName:PyDevLocation:http://pydev.org/updateswait a minut原创 2015-07-16 11:52:26 · 1059 阅读 · 0 评论 -
python学习之--配置Sublime Text2的python运行环境
因为自己一直在用ST2开发最近在学习python于是就在Sublime Text2 上配置下python的运行环境在自己电脑上配置好了python的运行环境之后只需要打开Preferences 的 Browse Packages找到Python 文件夹中的Python.sublime-build文件添加我们安装python的路径就ok了ST2会自动的判断类型bu原创 2015-03-20 17:08:33 · 3354 阅读 · 0 评论 -
python学习之--list
#print(dir(list)) #dir()用来查询一个类或者对象所有属性。#print(help(list)) #help()用来查询的说明文档。n = [1,2,5,3,5,2]print(n.count(5)) #list中元素5的个数print(n.index(3)) #list中元素3的下标print(n.pop()) #输出list的弹出的原创 2015-03-20 15:35:17 · 452 阅读 · 0 评论 -
python学习之--流程和函数
简要介绍python的流程和函数python里面是没有switch的,其实switch是有一个hash表通过表来查找对应的跳转例如:switch = { 1:'a', 2:'b', 3:'c', 4:'d' }s = [1,2,3,4]for i in range(1,5) : print(switch.get(i))条件判原创 2015-03-20 15:18:51 · 479 阅读 · 0 评论 -
python学习之--阶段小结
学了一段时间的python总结一下强化记忆我学习python,主要是通过看别人的博客,在网上找各种资料对照,自己练习,做下小结推荐python快速学习博客:http://www.cnblogs.com/vamei了解python基础:基本数据类型 int,strig,float,bool 和运算 序列:list,tuple 流程控制和函数面向对象转载 2015-03-20 18:18:38 · 646 阅读 · 0 评论 -
python学习之--Django--Get and Post
1.首先创建一个登陆界面 login.html{% extends "base.html" %}{% block mainbody %} {% csrf_token %} username: passowrd: {{ username }} {{ password }} {% endblock %}在 views.py中添加d原创 2015-04-20 16:35:17 · 3877 阅读 · 0 评论 -
python学习之--Django--Forms使用
1.创建文件do.html{% extends 'base.html' %}{% block mainbody %} {% csrf_token %} {{ form.as_p }} {% for item in student %} {{ item.id }}, {{ item }}{% endfor %}{% endblock %}在urls.原创 2015-04-20 16:53:21 · 1768 阅读 · 0 评论 -
python学习之---mutable and immutable
python的数据类型分为mutable(可变) 和 immutable (不可变)mutable : list ,dictinmutable : int , string , float ,tuple...mutable和immutable 字面意思理解就是说数据可变和数据不可变由于python的变量(variable)不需要声明,而在赋值的时候,变量可以重新赋值为任意值,这原创 2015-03-20 14:29:11 · 13439 阅读 · 0 评论 -
python学习之--Django--连接数据库mysql创建model
1.建立一个project2.创建第一个页面3.创建一个app4.然后给app增加一个页面4.1在setting里面配置:在url中添加创建views然后就可以通过127.0.0.1:8000 访问了5.配置数据库 在setting中修改database信息check看是否连接原创 2015-04-17 11:30:08 · 3805 阅读 · 0 评论 -
python学习之--Django初探
Django的安装在官网上可以看到,安装有2种方法,一种是直接pip,还有一种是git我在我的windows上安装Django,已经配置好了script的路径直接esay_install DjangoDjango被安装在 C:\Python27\Lib\site-packages建立第一个工程生成工程框架:在dos下输入django-admin.py原创 2015-04-14 18:17:11 · 515 阅读 · 0 评论 -
python学习之--在windows上安装python模块
在windows上给python的easy_install配置环境变量将C:\Python27\Scripts配置到path里然后直接在dos下输入命令安装需要的模块例如安装 pika 模块easy_install pika等待安装即可原创 2015-04-14 17:31:37 · 856 阅读 · 0 评论 -
python学习之--面向对象
#定义一个基类Bird 类属性have_feather ,way_of_reproduction,初始化方法__init__() ,方法move()#定义两个子类 Chicken 和 Oriole 添加属性way_of_move and possible_in_KFCclass Bird(object): have_feather = True原创 2015-03-20 16:26:13 · 449 阅读 · 0 评论 -
python学习之--调用shell脚本
python调用Shell脚本,有很多种方法,下面给出了三个python中执行shell命令的方法第一种方案:os.systemos.system返回脚本的退出状态码现有一个shell脚本1.sh#!/bin/shecho "hello world!!"在python中调用shell脚本import osstatus = os.system('sh ~/svnrepos/原创 2015-07-10 15:56:06 · 49868 阅读 · 0 评论 -
python学习之--SyntaxError: Non-ASCII character '\xe5'
在安装好eclipse之后试了一下创建了了一个pydev projectpackage,module在test.py中编写最简单的命令print "helloworld"报错-SyntaxError: Non-ASCII character '\xe5'意思是我的文件的第二行报错了,因为自动生成的带头部注释的文件日期是汉字的年月日需要规定编码为UTF-8才可以在脚本原创 2015-07-16 11:59:29 · 1300 阅读 · 0 评论 -
python学习之--包裹传递和解包裹
包裹传递在定义函数时,我们有时候并不知道调用的时候会传递多少个参数。这时候,包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会非常有用。 下面是包裹位置传递的例子:def func(*name): print type(name) print namefunc(1,4,6)func(5,6,7,1,2,3)两次调用,尽管参数原创 2015-04-14 17:08:51 · 3122 阅读 · 0 评论 -
python学习之--Django--Django的管理界面
admin界面的路径,通常在my_project中已经设置好了,使用django-admin.py startproject my_project在目录下的urls.py文件中可以看到from django.conf.urls import include, urlfrom django.contrib import adminurlpatterns = [ # Exampl原创 2015-04-20 17:24:11 · 1472 阅读 · 0 评论 -
python学习之--Django--初次使用templates
首先在根目录下mkdir templates 然后在templates下 mkdir app1 创建模板template.html现在我的目录结构是:#template.html文件的内容是{{ label }}修改配置文件setting.py ,由于我的Django的版本是1.8所以我直接在TEMPLATES下添加其他1.7版本可以使用:# Temp原创 2015-04-17 17:53:53 · 2543 阅读 · 0 评论 -
python学习之--小题目 针对快速教程
转载自:Vamei 出处:http://www.cnblogs.com/vamei 1.写一个程序,判断2008年是否是闰年。写一个程序,用于计算2008年10月1日是这一年的第几天?(2008年1月1日是这一年的第一天)这些小题目是为了方便大家加深对Python理解而设计的。def isLeapYear(year): if (year % 400 == 0) or原创 2015-04-14 11:21:33 · 606 阅读 · 0 评论 -
python学习之--Hello World
打开IDLE(Python GUI)我们就可以开始编程了输入 print('Hello World')第一个程序 HelloWorld 就Ok了原创 2015-03-20 13:02:52 · 628 阅读 · 0 评论