代码/源码
kudou1994
这个作者很懒,什么都没留下…
展开
-
Python3 树 | 二叉树的实现 遍历二叉树 二叉排序树 查找 插入 删除
一、树非线性结构根在顶层 root叶在下面除了上面的一个根节点都叫子节点(统称为节点)根节点是唯一一个没有入边的节点除了根节点外每个节点都有且只有一条与其他节点相连的入边(指向该节点的边),每个节点可能有许多跳出边(从该节点指向其他节点的边)路径:有序排列,路径是唯一的子节点集:父节点的所有“孩子”父节点:兄弟节点:同一个节点的所有子节点互为兄弟节点子树:一个父节点的某个子...原创 2019-08-18 03:51:20 · 536 阅读 · 0 评论 -
Python3 求阶乘的四种方法 | 递归, functools.reduce(), math.factorial(), for循环
方法一:for循环def factorialFunc(n): x = 1 for i in range(1, n+1): x *= i return x方法二:递归 5x4x3x2x1def factorialFunc(n): if n == 1: return 1 else: return n * f...原创 2019-08-09 19:59:31 · 3576 阅读 · 0 评论 -
Python3 for in if 和 逻辑判断 的使用
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。方法一:import itertoolsA = ["a", "b", "c"]B = ["x", "y", "z"]rank = [list(each) for each in itertools....原创 2019-08-09 17:24:49 · 5933 阅读 · 0 评论 -
Python3 入门经典100例 | 菜鸟教程 21-30题
Python3 100例 | 菜鸟教程 习题链接题21:猴子吃桃题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。分析从第9天吃完剩余1个倒推至第0天剩余“若干”个...原创 2019-08-09 17:18:51 · 1437 阅读 · 0 评论 -
SQL学习笔记 | 廖雪峰SQL教程
〇、简介教程链接:廖雪峰SQL教程现代程序离不开关系数据库,要使用关系数据库就必须掌握SQL。一种最流行的开源数据库MySQLNoSQL数据库,也就是非SQL的数据库,包括MongoDB、Cassandra、Dynamo等等,它们都不是关系数据库。NoSQL数据库作为SQL数据库的补充,两者不再是二选一的问题,而是主从关系。在线SQL1. 关系数据库概述数据库作为一种专门管理数据的软...原创 2019-08-20 02:05:29 · 1826 阅读 · 0 评论 -
Python3 入门经典100例 | 菜鸟教程 11-20题
Python3 100例 | 菜鸟教程 习题链接题11:斐波那契数列题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少对?程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…分析:前面两项加和等于第三项分析一:第s月后每个月的兔子总数为多少对?def animalNum(s): ...原创 2019-08-07 07:19:35 · 1370 阅读 · 0 评论 -
剑指offer:圆圈中最后剩下的数字(约瑟夫环) Python3 | 数学推导图
每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一个小朋友,...原创 2019-08-07 02:38:42 · 213 阅读 · 0 评论 -
LeetCode:459.重复的子字符串 Python3 | 判断输入的字符串是不是可以由子串多次重复构成
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: “abab”输出: True解释: 可由子字符串 “ab” 重复两次构成。示例 2:输入: “aba”输出: False示例 3:输入: “abcabcabcabc”输出: True解释: 可由子字符串 “abc” 重复四次构成。 (或者...原创 2019-08-18 16:16:59 · 1605 阅读 · 0 评论 -
剑指offer:数组中重复的数字 Python3 | list.count(i)
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。# -*- coding:utf-8 -*-class Solution: # 这里要特别注意~找到任意重复的一个值并赋值...原创 2019-08-13 16:42:19 · 417 阅读 · 0 评论 -
剑指offer:复杂链表的复制 Python3 | 递归法 哈希表法
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)方法一:递归法# -*- coding:utf-8 -*-# class RandomListNode:# def __init__(self, x):# ...原创 2019-08-13 16:39:41 · 337 阅读 · 0 评论 -
from __future__ import print_function | Python2运行Python3的print()函数
作用:Python2运行Python3的print()函数方法:置于代码开头,否则会报错#python2print 'a'#python3print('a')举例:本机安装python2,无python3,但代码中使用python3的print()函数#/usr/bin/python2from __future__ import print_functionprint('a'...原创 2019-07-28 21:56:17 · 630 阅读 · 0 评论 -
Python3 入门经典100例 | 菜鸟教程 1-10题
(未完)题1:题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?方法一:import itertoolsl = list(itertools.permutations([1,2,3,4],3))print(len(l))print(l)# 24# [(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, ...原创 2019-08-05 17:37:11 · 9291 阅读 · 0 评论 -
Python 排列 组合 | itertools.permutations() itertools.combinations()
从一个列表中取N个元素,有多少种取法排列:itertools.permutations(List, N) #124 != 421组合:itertools.combinations(List, N) #124 = 421返回一个列表,元素构成为元祖import itertoolsprint(list(itertools.permutations([1,2,3,4],3)))# [(1, ...原创 2019-08-05 14:56:34 · 874 阅读 · 0 评论 -
剑指offer:表示数值的字符串 Python3 | 正则表达式 try语句 float()
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。方法一:正则表达式匹配# -*- coding:utf-8 -*-import reclass Solution: # s字符串 ...原创 2019-08-07 19:11:50 · 389 阅读 · 0 评论 -
Python3 数据结构笔记 | 查找 排序 树
个人笔记复习用课程链接:中国大学MOOC:大学计算机–Python算法实践查找算法#顺序查找x = int(input('输入要查找的数:'))l = [1,2,3,4,5,5]sign = Falsefor i in l: if i ==x: print('找到了') sign = True breakif sign == ...原创 2019-08-15 01:54:55 · 213 阅读 · 0 评论 -
Python3 线性数据结构 | 数组 栈 队列 链表
数组python没有数组,但是list可以充当数组的作用栈一个开口,后进先出,直接使用list实现list.append() #push入栈,进入队列末尾list.pop() #pop出栈,末尾先出队列两个开口,先进先出,直接使用list效率很低(insert),使用collections.deque提供的双端队列我们使用l.append() #最右端入队 和 l.popleft...原创 2019-08-17 17:49:24 · 324 阅读 · 0 评论 -
Python3 a for b in c for a in b的用法 | 列表的嵌套
用于列表的嵌套中#先遍历c,再遍历b,把其中的元素a存到列表中c = [[7,8,9],[1,2,3],[4,5,6]]l = [a for b in c for a in b]print(l)# [7, 8, 9, 1, 2, 3, 4, 5, 6]等价于:c = [[7,8,9],[1,2,3],[4,5,6]]k = []for b in c: for a in...原创 2019-08-17 00:07:49 · 8036 阅读 · 1 评论 -
Python3 排序算法总结笔记
一、插入排序1. 简单插入排序共n-1轮时间复杂度:O(N)-O(N2) 平均为O(N2)空间复杂度:O(1)稳定性:稳定(temp < l[j-1]才满足,相等的时候不交换位置)复杂性:简单特点:用直接插入排序,原序列越接近有序序列(逆序的个数越少),比较次数越少l = [5,3,87,4,12,54,8,5,66]def insertSort(l): for...原创 2019-08-17 00:48:53 · 285 阅读 · 0 评论 -
Python3 位运算符 | 与 或 异或 取反 原码 反码 补码
一个数的最高位存放符号, 正数为0, 负数为1+3 为 0000 0011-3 为 1000 0011原码:+3 为 0000 0011-3 为 1000 0011反码:正数反码即本身负数反码将除了最高位的符号位不变以外,其余位数全部取反+3 为 0000 0011-3 为 1111 1100补码:正数的补码即本身负数的补码在反码的基础上+1、+3 为 0000 ...原创 2019-08-15 16:51:42 · 1990 阅读 · 0 评论 -
Python3 is 和 == 的区别
is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。a = [1,2,3]b = ab is a# Truea is b# Trueb == a# Truea == b# Truea = [1,2,3]b = a[:]b == a# Truea == b# Trueb is a# Falsea is b# Fa...原创 2019-08-15 16:20:55 · 345 阅读 · 0 评论 -
Python3 入门经典100例 | 菜鸟教程 51-60题
Python3 100例 | 菜鸟教程 习题链接题51:题目:学习使用按位与 & 。程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1。原创 2019-08-15 16:03:05 · 1596 阅读 · 0 评论 -
Python3 入门经典100例 | 菜鸟教程 41-50题
Python3 100例 | 菜鸟教程 习题链接题41:静态变量(类变量)题目:模仿静态变量的用法。Python语言并不支持静态变量。因为Python是动态语言,不存在完全静态的变量。Python中,静态成员变量称为类变量,非静态成员变量称为实例变量def varfunc(): var = 0 print(var) var += 1if __name__ == ...原创 2019-08-15 15:21:18 · 4497 阅读 · 0 评论 -
Python3 反转列表的三种方法 | reverse() reversed()
l = [1,2,3,4,5]print(l[::-1]) #切片取值l = [1,2,3,4,5]l.reverse() #只能反转列表print(l)#python3 特有l = [1,2,3,4,5]print(reversed(l)) #返回一个反转的迭代器,reversed(l)可以反转 tuple, string, list 或 range。print(list(r...原创 2019-08-11 17:46:45 · 4949 阅读 · 0 评论 -
Python3 入门经典100例 | 菜鸟教程 31-40题
Python3 100例 | 菜鸟教程 习题链接题31:题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。。星期一:Monday(Mon.)星期二:Tuesday(Tues.)星期三:Wednesday(Wed.)星期四:Thursday(Thur./T...原创 2019-08-11 17:36:07 · 1278 阅读 · 0 评论 -
Python3 指数函数 | numpy.power() math.pow() numpy.exp2() a**b
对数函数用法单纯求一个数的指数函数,直接用a**b比较好?2**3 #2的三次方使用pow(x, y)pow()有两种,一种是python内置函数,一种是math.pow()使用python内置函数调用则是直接计算,而math.pow()函数则是先将x转化为float,再计算pow(2, 3)#8import mathmath.pow(2, 3)#8.0其中python...原创 2019-08-24 00:16:23 · 59881 阅读 · 2 评论 -
Python3 sort()与sorted()的区别 | 排序(归并排序)
默认升序,并且都是基于归并排序算法写的。sort()列表的方法就是对列表的操作,会改变列表本身sorted()python的内置函数函数是用来调用的,所以使用过后并不会更改列表本身l = [1,2,8,4,5]l.sort()print(l)l.sort(reverse=True)print(l)# [1, 2, 4, 5, 8]# [8, 5, 4, 2, 1]l ...原创 2019-08-15 00:40:28 · 342 阅读 · 0 评论 -
tf.train.slice_input_producer()、tf.train.batch()、tf.train.shuffle_batch()函数
Tensorflow的数据读取机制:tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算。具体来说就是使用一个线程源源不断的将硬盘中的图片数据读入到一个内存队列中,另一个线程负责计算任务,所需数据直接从内存队列中获取。tf在内存队列之前,还设立了一个文件名队列,文件名队列存放的是参与训练的文件名,要训练 N个epoch,则文件名队列...原创 2019-08-05 04:11:12 · 356 阅读 · 0 评论 -
tf.convert_to_tensor()函数的使用 | 数据类型转换
#将python的数据类型(列表和矩阵)转换成TensorFlow可用的tensor数据类型import tensorflow as tfimport numpy as np A = [1,2,3]B = np.array([1,2,3])C = tf.convert_to_tensor(A)D = tf.convert_to_tensor(B) with tf.Session(...原创 2019-08-05 01:59:51 · 4950 阅读 · 0 评论 -
剑指offer:链表中倒数第k个结点 Python3 |考虑未知量的取值情况的return
#coding:utf-8###1 链表##1.2 题15 链表中倒数第k个结点##题目:输入一个链表,输出该链表中导数第k个结点#关于链表:# class ListNode:# def __init__(self, x):# self.val = x # val表示value# self.next = Node # next表示指针#...原创 2019-07-17 14:14:08 · 153 阅读 · 0 评论 -
机器翻译 Transformer代码笔记
(未完)代码来源Github:kyubyong/transformer/tf1.2_legacy作者已更新较新版本tensorflow对应的transformer代码,本笔记基于老代码做笔记使用代码1:hyperparams.py 定义超参数文件# -*- coding: utf-8 -*-#/usr/bin/python2'''June 2017 by kyubyong park...原创 2019-08-05 04:18:21 · 4898 阅读 · 0 评论 -
Numpy np.mgrid() np.meshgrid() np.ogrid()函数 | Python
z = np.mgrid[a❌m, b:y:n]z = np.mgrid[a❌cj, b:y:dj]利用到广播机制进行扩充# z = np.mgrid[a:x:m, b:y:n] 两个参数,生成一个三维空间向量由两个数组z[0]和z[1]组成,步长分别为m和n, [a, x) [b, y)# 第二种:z = np.mgrid[a:x:cj, b:y:dj] 生成平均分为c/d个元素,左闭右...原创 2019-07-01 14:20:04 · 1421 阅读 · 0 评论 -
Matplotlib plt.grid()用法
import matplotlib as mplimport matplotlib.pyplot as pltplt.grid() # 显示网格线 1=True=默认显示;0=False=不显示plt.grid(1) # 显示网格线plt.grid(True) # 显示网格线plt.grid(b=True) # 显示网格线plt.grid(b=1) # 显示网格线plt.grid(b...原创 2019-06-28 17:57:50 · 57586 阅读 · 0 评论 -
Python 用均匀分布验证中心极限定理
均匀分布 X~U(a, b)E(x)=1/(b-a) D(x)=(b-a)**2/12正态分布/高斯分布 X~N(μ, σ2)E(x)=μ D(x)=σ2标准正态分布 N(0, 1)中心极限定理随机变量{Xi}独立同分布, 有相同的方差和期望。令Yn=X1+X2+````+Xn,则Zn=(Yn-E(Yn))/sqrt(D(Yn)=(∑Xi-nμ)/(sqrt(n)*σ), Zn~N(0...原创 2019-06-28 15:11:45 · 3538 阅读 · 0 评论 -
np.log()与math.log()的区别与联系 | Numpy | Python
这两个包均提供了基础的以2,e,10为底求对数的情况,在这三种情况下两者的使用方式是一致的。但是一般来讲,对于较复杂的log计算或者计算次数较多的时候,numpy计算速度的优势便体现了出来,所以要说明一下这两者在使用上的区别。import mathimport numpy as np# 不写底数时默认以e为底np.log(100)math.log(100)# 以2 e 10为底pr...原创 2019-06-26 17:07:14 · 24282 阅读 · 6 评论 -
Python 二维数组元素去重 np.unique()函数的使用
### 4.2 元素去重# 4.2.1 一维数组去重a = np.array([1, 2, 3, 4, 5, 5, 7, 3, 2, 2, 8, 8])print('去重前:', a)b = np.unique(a)print('去重后:', b)# 4.2.2 二维数组去重c = np.array(((1, 2), (3, 4), (5, 6), (1, 3), (3, 4), (...原创 2019-06-26 03:24:25 · 10211 阅读 · 1 评论 -
np.split()与np.array_split()函数 | Numpy | Python
np.split() 均等分割,不均等会报错np.array_split() 不均等分割,不会报错### 关于np.split()函数x = np.arange(9) #9行1列的列向量print(x, np.shape(x))y = np.split(x, 3) # 平均分成三份,不能平均的话则会报错print(y)y = np.split(x, 3, axis=0) # 平均分成...原创 2019-06-26 02:50:34 · 3769 阅读 · 0 评论 -
Python | numpy matplotlib scipy练习笔记
# coding:utf-8import numpy as npimport matplotlib as mplimport scipy as spimport mathdef residual(t, x, y): return y - (t[0] * x**2 + t[1] * x + t[2])def f(x): y = np.ones_like(x) ...原创 2019-07-02 01:57:27 · 2367 阅读 · 0 评论 -
Python3 找200以内的所有素数/质数 | break与continue
# 找200以内的素数/质数# 素数/质数:只能被1和自身整除# 方法一:定义法,遍历除数#方法二:遍历一半的除数,如果两个整数(非1非除数自身)相乘得到除数,那么这两个数之一必定小于除数/2.# 方法三:遍历根号下的除数,如果两个整数(非1非除数自身)相乘得到除数,那么这两个数之一必定小于根号下的除数.s=[]for i in range(3, 201): k = True fo...原创 2019-06-21 15:14:37 · 8537 阅读 · 1 评论 -
Python3 9-9乘法表 | for循环的嵌套使用
for i in range(1, 10): # 控制行 for j in range(1, i+1): # 控制列 print(j, 'x', i, '=', j*i, sep='', end='\t') # end='\t'相当于每次打印结束不换行,而是在末尾添加\t(tab); # 而sep=''表示每个打印的字符之间用‘’内的内容衔接,去掉默认带有的空格 print() # 每...原创 2019-06-21 12:53:42 · 1414 阅读 · 0 评论 -
python | A for B in C的用法
一个例子 Y = [ [ int(x1+x2 < 1) ] for (x1, x2) in X ] 对X中的每一组元素(x1, x2)遍历一遍,当满足(x1+x2 < 1)时,就把这个布尔值[True]/[False]转换成int型(1或0),存放在[ ]里,作为Y的一个元素。...原创 2018-07-30 17:11:23 · 15949 阅读 · 0 评论