- 博客(81)
- 资源 (11)
- 收藏
- 关注
原创 个人图书管理小程序
最近妹子经常跟我吐槽书太多了, 不好管理, 什么书又借给谁谁谁了, 想让我给做个小程序。 于是我就动手开始干了,以下就是我两个星期的成果:小程序的二维码...
2019-06-14 19:15:30
6179
6
原创 204. 单例
思路单例 是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例。例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 singleton 模式你的任务是设计一个 getInstance 方法,对于给定的类,每次调用 getInstance 时,都可得到同一个实例样例 在 Java 中: ...
2018-08-16 16:38:26
281
原创 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
265
原创 167. 链表求和
思路你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。给出两个链表 3->1->5->null + 5->9->2->null = 8->0->8->nullDefinitio
2018-08-15 10:17:11
253
原创 157. 判断字符串是否没有重复字符
思路实现一个算法确定字符串中的字符是否均唯一出现样例 给出"abc",返回 true 给出"aab",返回 falsePythonclass Solution: """ @param: str: A string @return: a boolean """
2018-08-15 10:17:02
536
原创 145. 大小写转换
思路将一个字符由小写字母转换为大写字母样例 a -> A b -> BPythonclass Solution: """ @param character: a character @return: a character """ def lowercaseToUppercase
2018-08-15 10:15:50
661
原创 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
原创 13. 字符串查找
思路对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。样例 如果 source = "source" 和 target = "target",返回 -1。 如果 source = "abcdabcdefg&quot
2018-08-15 10:14:20
482
原创 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
原创 28. 搜索二维矩阵
思路写出一个高效的算法来搜索 m × n矩阵中的值这个矩阵具有以下特性: 每行中的整数从左到右是排序的 每行的第一个数大于上一行的最后一个整数样例 考虑下列矩阵: [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] 给出 target = 3,返回 ...
2018-08-15 10:13:22
165
原创 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
原创 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
原创 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
原创 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
原创 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
原创 8. 旋转字符串
思路给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)样例 对于字符串 "abcdefg". offset=0 => "abcdefg" offset=1 => "gabcdef" offset=2 => "fgabcde" offset=3 => "efgabcd"Python
2018-08-14 17:39:58
345
原创 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
原创 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
原创 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
原创 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
原创 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
原创 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
原创 sublime学习之--批量在多行首位添加代码
缩进Tab取消缩进shift + Tab查找 Ctrl + F批量在数据首位添加代码Ctrl + H输入^,然后Find All,查找所有的行首 ,接下来批量首行添加输入$,然后Find All,查找所有的行尾,接下来批量末行添加
2015-07-21 12:19:13
15052
原创 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
原创 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
原创 ansible学习之--简单学习笔记3
使用python调用playbook和shell脚本我的python脚本为:#!/usr/bin/env pythonimport ansible.playbookfrom ansible import callbacksfrom ansible import utilsimport jsonimport commandsstatus, result = commands.
2015-07-13 19:27:09
1094
原创 ansible学习之--简单学习笔记2
1.使用python调用playbook(ansible.runner和ansible.playbook)2.使用roles层次化,结构化的组织playbook我的目录svnrepos下有两个目录ansible_test和testtest目录下:ansible_test的目录结构为:
2015-07-13 19:20:28
1007
原创 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
原创 ansible学习之--简单学习笔记1
1.利用dm-crypt来创建加密文件系统。编写shell脚本2.编写ansible,playbook文件3.编写python脚本首先编写shell脚本#!/bin/shsudo apt-get install dmsetup cryptsetupsudo modprobe dm-cryptecho "dd if=/dev/zero of=/home/prod/secr
2015-07-10 11:49:23
1551
原创 ansible学习之--安装Svn
任务:多台机器与ansible 联动熟悉python ansible API 通过接口获取playbook 执行到其中的哪一个步骤,是否可以获取ansible的执行进度python获取svn的版本号
2015-07-08 11:57:26
1635
原创 ansible学习之--ansible初探
ansible 技术相关(自动化运维工具) 是基于python开发的安装方式有 yum,apt,pip等例如使用pip:pip install ansibleansible对于客户端的唯一要求就是需要有SSH和Python(如果python版本过低则需要安装python-simplejson module)最简单的一条ansible命令:ansible -i /etc/
2015-07-07 13:06:30
1265
原创 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
1470
原创 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
原创 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
原创 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
原创 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
原创 python学习之--windows安装mysql-python module
最近在学习使用Django,看到连接数据库需要mysql-python module然后我就去下载,我最开始使用pip 安装 ,发现一直报错返回的错误信息是:vcvars32.bat这个文件找不到,大致是因为我的电脑上没有安装visual c++ 2008,我安装是是2013尝试了SET VS90COMNTOOLS=%VS120COMNTOOLS%还是不行然后我就
2015-04-16 18:01:57
3047
原创 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
原创 python学习之--在windows上安装python模块
在windows上给python的easy_install配置环境变量将C:\Python27\Scripts配置到path里然后直接在dos下输入命令安装需要的模块例如安装 pika 模块easy_install pika等待安装即可
2015-04-14 17:31:37
856
原创 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
jcreatorpro
2013-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人