
python
方月一 +1
方月皆半。
展开
-
np.argsort
argsort函数返回的是数组值从小到大的索引值import numpy as npx=np.array([2,5,1,8,3,6])ind=np.argsort(x) #返回的是数组值从小到大的索引值print(ind)ind=np.argsort(x) #返回的是数组值从大到小的索引值print(ind)结果如下:[2 0 4 1 6 5 3][3 5 1 6 4 0 2...原创 2019-10-26 20:40:47 · 368 阅读 · 0 评论 -
python strip()
w=' abcdefg 'w=w.strip() #strip默认移除字符串的首尾空白格w=' abcdefg 'w=w.strip()w.strip('ab') #strip移除字符串的首尾为'ab'的字符串w.strip('g')原创 2019-10-26 21:13:14 · 506 阅读 · 0 评论 -
print的格式问题
print ("{0:<10}{1:>5}".format(word, count))格式控制:{0:<10}表示word左对齐占10个位置{1:>5}表示count右对齐占5个位置其中<表示左对齐原创 2019-10-24 15:33:57 · 1156 阅读 · 0 评论 -
python中open的“r”和“rb”的区别,encoding
r是读取人工书写的数据,书写的时候是什么样子,读出来就是什么样。rb是读取二进制文件,非人工书写的数据如.jpeg等这些。另外encoding可以指定解码格式,utf-8是现在的主流编码方式,如果没有指定encoding 的方式那么根据python版本的不同会有不同的解码方式,Python3中是utf-8,而python2中是ascii。...原创 2019-10-24 14:24:21 · 21788 阅读 · 1 评论 -
读取数据 python
德国信用卡数据1.先下载,通过numpy读取,这种方法只适合numeric数据,不能有类似str型的数据。import pandas as pdimport numpy as npgerman=np.loadtxt(r"D:\data\dataset\german\german.data-numeric" ,delimiter = " ")data=pd.DataFrame(german...原创 2019-10-20 14:43:17 · 601 阅读 · 0 评论 -
从python端输入未知行数的数据
stopword = ''L=[]for line in iter(raw_input, stopword):tmp = lineL.append(map(int,tmp.split(" ")))原创 2019-10-12 21:27:41 · 2605 阅读 · 0 评论 -
实用基础----python numpy
1.对应元素相乘:np.multiply()*x=np.array([[2,2,2],[3,4,5]]) #矩阵按行写入y=np.array([[1,2,3],[1,2,3]])print x*yprint np.multiply(x,y)两者运行的结果都是如此:2.矩阵相乘:np.dot(A, B)x=np.array([[2,2,2],[3,4,5]]) y=np....原创 2018-12-13 00:47:32 · 229 阅读 · 0 评论 -
安装hmmlearn--python
1.进入https://www.lfd.uci.edu/~gohlke/pythonlibs/,找到hmmlearn***.whl类型的文件下载2.打开Anaconda Prompt,在命令行输入:pip install hmmlearn-0.2.1-cp27-cp27m-win_amd64.whl原创 2018-12-20 15:58:06 · 2550 阅读 · 0 评论 -
合并
pd.concat([pd1,pd2,pd3]) #会根据列名进行相应的合并详见原创 2019-03-21 16:49:03 · 108 阅读 · 0 评论 -
内存问题py
import gcgc.collect() 参见原创 2019-03-21 17:02:17 · 123 阅读 · 0 评论 -
pd读带有中文路径的csv
f= open(“带中文.csv”)df= pd.read_csv(f)原创 2019-03-22 12:03:46 · 242 阅读 · 0 评论 -
cvxopt
cvxopt是python上求解最优化问题的一个包,在数值计算、规划问题和运筹中都有广泛应用。原创 2019-03-30 21:28:53 · 357 阅读 · 0 评论 -
py一些简单问题思路(未完待续)
%reset -f #清除所有变量1.给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)思路:乘积最大也就是找到最大的3个数或者1个最大2个最小python的sorted是从小到大排列...原创 2019-04-02 11:00:52 · 106 阅读 · 0 评论 -
pd.stack 和 pd.unstack
1.数据的层次化结构有两种,表格和花括号。表格在行和列上都有索引(如dataframe),花括号结构只在“列”上有索引,结构上更偏向于堆叠。pd.stack() #表格结构变成花括号pd.unstack() #花括号结构变成表格结构可参见这里...原创 2019-03-28 20:22:14 · 2533 阅读 · 0 评论 -
python输入多行
stopword = '' # 输入停止符str = ''for line in iter(raw_input, stopword): # 输入为空行,表示输入结束 str += line + '\n'原创 2019-04-17 20:07:08 · 2546 阅读 · 0 评论 -
堆棋子
题目n=int(raw_input())x=map(int,raw_input().split())y=map(int,raw_input().split())#1.其他点到某个点的距离(可能会发生重复计算)def distence(x0,y0,x,y): return(abs(x0-x)+abs(y0-y))#2.sorted其他点到某个点的距离,这个距离的前i个值之和就...原创 2019-04-18 17:36:53 · 119 阅读 · 0 评论 -
单词子集
class Solution: def getFreq(Lst): freq={} for word in set(Lst): tmp_freq={} for letter in word: tmp_freq[letter]=tmp_freq.get(letter,0)+1 ...原创 2019-06-12 21:03:38 · 189 阅读 · 0 评论 -
仅仅反转字母
【简单】class Solution: def reverseOnlyLetters(self, S): """ :param S: str :return: str """ S=list(S) s_alpha=[i for i in S if i.isalpha()] re...原创 2019-06-12 23:48:14 · 489 阅读 · 0 评论 -
297. 二叉树的序列化与反序列化
题目序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。示例:你可以将以下二叉树: ...原创 2019-06-18 20:39:42 · 140 阅读 · 0 评论 -
919. 完全二叉树插入器
题目完全二叉树是每一层(除最后一层外)都是完全填充(即,结点数达到最大)的,并且所有的结点都尽可能地集中在左侧。设计一个用完全二叉树初始化的数据结构 CBTInserter,它支持以下几种操作:CBTInserter(TreeNode root) 使用头结点为 root 的给定树初始化该数据结构;CBTInserter.insert(int v) 将 TreeNode 插入到存在值为 n...原创 2019-06-18 21:16:43 · 335 阅读 · 0 评论 -
920. 播放列表的数量
题目你的音乐播放器里有 N 首不同的歌,在旅途中,你的旅伴想要听 L 首歌(不一定不同,即,允许歌曲重复)。请你为她按如下规则创建一个播放列表:每首歌至少播放一次。一首歌只有在其他 K 首歌播放完之后才能再次播放。返回可以满足要求的播放列表的数量。由于答案可能非常大,请返回它模 10^9 + 7 的结果。示例 1:输入:N = 3, L = 3, K = 1输出:6解释:有 6...原创 2019-06-19 15:34:15 · 386 阅读 · 0 评论 -
921. 使括号有效的最少添加
题目给定一个由 ‘(’ 和 ‘)’ 括号组成的字符串 S,我们需要添加最少的括号( ‘(’ 或是 ‘)’,可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的:它是一个空字符串,或者它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者它可以被写作 (A),其中 A 是有效字符串。给定一个括号字符串,返回为使结...原创 2019-06-19 20:26:53 · 203 阅读 · 0 评论 -
按层打印二叉树
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None s=TreeNode(3);s.left=TreeNode(4);s.right=TreeNode(5);s.left.left=TreeN...原创 2019-06-10 12:37:38 · 355 阅读 · 0 评论 -
重建二叉树和遍历二叉树
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None #1.由中序和前序重建二叉树,输出后序#中:GDHBEAFC 前:ABDGHECFdef recreateTree(preorder,i...原创 2019-06-10 16:19:37 · 146 阅读 · 0 评论 -
53.最大子序和
1.暴力枚举(时间超出限制)class Solution: def maxSubArray(self, nums: List[int]) -> int: res=[] for i in range(len(nums)): sum_seq=[] for j in range(i,len(nums)):...原创 2019-06-15 19:07:10 · 106 阅读 · 0 评论 -
121. 买卖股票的最佳时机
【简单】【Kadane算法】curMin 记录当前能买到的最低价profit[i] 记录i时刻能得到的最大利润profit[i+1] = max{ profit[i] , price[i+1]-curMin } 即i+1时刻的最大利润要么在i时刻得到,要么在i+1时刻得到。(其实,思路感觉和动态规划一样) class Solution: def maxProfit...原创 2019-06-15 21:06:59 · 113 阅读 · 0 评论 -
264.丑数II
263.丑数题目编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3示例 2:输入: 8输出: true解释: 8 = 2 × 2 × 2示例 3:输入: 14输出: false 解释: 14 不是丑数,因为它包含了另外一个质因数 7。说明:1 是丑数。输入不会超...原创 2019-06-20 17:04:52 · 261 阅读 · 0 评论 -
967. 连续差相同的数字
题目返回所有长度为 N 且满足其每两个连续位上的数字之间的差的绝对值为 K 的非负整数。请注意,除了数字 0 本身之外,答案中的每个数字都不能有前导零。例如,01 因为有一个前导零,所以是无效的;但 0 是有效的。你可以按任何顺序返回答案。示例 1:输入:N = 3, K = 7输出:[181,292,707,818,929]解释:注意,070 不是一个有效的数字,因为它有前导零。...原创 2019-06-20 20:18:41 · 435 阅读 · 0 评论 -
918. 环形子数组的最大和
【方法一】这道题的简单版本是最大子序和问题,所以本题可以拆分为两个部分来解。1.含有最大和的子数组未跨越列表头和列表尾- - - >化为最大子序和问题2.含有最大和的子数组跨越列表头和列表尾 - - - >最小子序和问题,用总和减去最小子序和即所求最大和(原理:例如一环形数组A=[5,-3,-2,3,-1,5],最大和的子数组为[3,-1,5,5],对A取负值:-A=[-5,...原创 2019-06-16 20:49:29 · 651 阅读 · 0 评论 -
分割数组
def partitionDisjoint(self, A: List[int]) -> int: #目标是找到左边最大值刚好小于等于右边最小值的第一个分界 #记录当前最大值和左边最大值 cur_max=A[0] left_max=A[0] index=0 for i in range(...原创 2019-06-11 21:05:43 · 333 阅读 · 0 评论 -
66.加一
题目给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。...原创 2019-06-22 16:52:26 · 106 阅读 · 0 评论 -
878. 第 N 个神奇数字
题目如果正整数可以被 A 或 B 整除,那么它是神奇的。返回第 N 个神奇数字。由于答案可能非常大,返回它模 10^9 + 7 的结果。示例 1:输入:N = 1, A = 2, B = 3输出:2示例 2:输入:N = 4, A = 2, B = 3输出:6示例 3:输入:N = 5, A = 2, B = 4输出:10示例 4:输入:N = 3, A = 6, ...原创 2019-06-22 20:24:01 · 278 阅读 · 0 评论 -
854. 相似度为 K 的字符串
题目如果可以通过将 A 中的两个小写字母精确地交换位置 K 次得到与 B 相等的字符串,我们称字符串 A 和 B 的相似度为 K(K 为非负整数)。给定两个字母异位词 A 和 B ,返回 A 和 B 的相似度 K 的最小值。示例 1:输入:A = "ab", B = "ba"输出:1示例 2:输入:A = "abc", B = "bca"输出:2示例 3:输入:A = "a...原创 2019-07-01 19:01:02 · 563 阅读 · 0 评论 -
765. 情侣牵手
题目N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手。 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起。 一次交换可选择任意两人,让他们站起来交换座位。人和座位用 0 到 2N-1 的整数表示,情侣们按顺序编号,第一对是 (0, 1),第二对是 (2, 3),以此类推,最后一对是 (2N-2, 2N-1)。这些情侣的初始座位 row[i] 是由最初始坐在第 i 个座位上的人...原创 2019-07-01 21:19:47 · 255 阅读 · 0 评论 -
409.最长回文串
409.最长回文串题目给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。【简单】【分析】注意回文串的性质:对...原创 2019-06-23 16:06:47 · 199 阅读 · 0 评论 -
41. 缺失的第一个正数
题目给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。【困难】【分析】用了一个很暴力的方法(找到最大值,res从1开始遍历,找一个不在nums中...原创 2019-07-02 15:47:57 · 152 阅读 · 0 评论 -
5.最长回文子串
题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"【分析】本题有多种方法,例如中心扩散法,马拉车(Manacher)算法,动态规划法。个人理解中心扩散法和马拉车算法都类似。其核心思想都是利用双指针从中...原创 2019-06-24 11:51:41 · 106 阅读 · 0 评论 -
636. 函数的独占时间
题目给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间。每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用。日志是具有以下格式的字符串:function_id:start_or_end:timestamp。例如:“0:start:0” 表示函数 0 从 0 时刻开始运行。“0: end: 0” 表示函数 0 在 0 时刻结束。函数的独占...原创 2019-07-02 20:13:22 · 197 阅读 · 0 评论 -
1046. 最后一块石头的重量(附堆排序)
有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。...原创 2019-06-24 21:05:14 · 483 阅读 · 0 评论 -
279.完全平方数
题目给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.【中等】【分析】BFS,利用自带你seen来记录当前应该被分解的数字,记录当前数字之前...原创 2019-07-03 13:40:45 · 244 阅读 · 0 评论