![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python学习笔记
ChunxueShi
通往程序媛的路上……
展开
-
Python(Mac版)通过PyCharmCE2017.1.2安装各种第三方包(以pygame为例)
python初学者通过PyCharm添加第三方包原创 2017-09-23 21:06:11 · 2444 阅读 · 1 评论 -
百度2017秋招真题——士兵队列
题目描述:一队士兵在操场上排成一列,士兵总数为n,士兵按照队伍从前往后的顺序从1到n依次编号。每个士兵有各自的身高,第i个士兵的身高为ai。士兵列队完毕后,将军走到队列的最前面。因为身高不一,有些士兵可能被前面身高更高的挡住了,这样将军就看不到他们。将军能看到某个士兵当且仅当他的身高严格大于他前面的所有士兵。问将军一共能看到多少个士兵。输入第一行输入一个整数T(T<=100),表示测试...原创 2019-04-23 11:32:58 · 1053 阅读 · 0 评论 -
百度2017秋招真题——提利昂的赏赐
题目描述:提利昂收服山地部落之后决定犒赏士卒,本着陈力就列的原则,他决定给五种人以赏赐:1.作战能力>80,并且至少有一项特殊能力的人,每人8000银鹿2.作战能力>85,并且声望>80的人,每人4000银鹿3.作战能力>90,每人2000银鹿4.作战能力>85的灼人部成员每人1000银鹿5.声望>80的军官每人850银鹿。提利昂想要尽量多的犒赏部下,所以只要满足条件即可得到奖赏,...原创 2019-04-23 12:53:50 · 218 阅读 · 0 评论 -
python——《剑指 offer》面试题5:替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路:为了减少时间复杂度,先遍历一遍字符串,统计空格的个数,从而计算出新字符串的长度,然后设置两个指针,分别从新旧字符串的尾部开始依次移动,如果遇到字符,那么就直接复制过来指针向前移动一个单位,如果遇到空格,则将‘%’...原创 2019-05-05 17:16:48 · 198 阅读 · 0 评论 -
python——《剑指 offer》面试题6:从尾到头打印链表
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解题思路:将链表中从头到尾的各个节点中的值存在list中,再逆序返回。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = None...转载 2019-05-05 19:41:04 · 193 阅读 · 0 评论 -
python——《剑指 offer》面试题7:重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路:1.在二叉树的前序遍历序列中,第一个数字总是树的根结点的值;2.在中序遍历序列中,根结点的值总是在序列的中间,左子树的节点的值位于...原创 2019-05-05 20:51:37 · 288 阅读 · 0 评论 -
python——递归方法判断回文字符串
题目描述:▪回文定义: ⼀个正向和反向读是相同的字符串–level,noon–蜜蜂酿蜂蜜,静泉⼭上⼭泉静,上海⾃来⽔来⾃海上▪当给定⼀个字符串str,需要判断该字符串是否为回⽂–如果是回⽂返回True,否则返回False解题思路:▪不妨设已经有⼀个函数 is_palindrome(s)可以⽤来求解该问题▪不妨设 s=’level’▪如何将is_palindrom...原创 2019-05-11 11:09:54 · 4020 阅读 · 0 评论 -
python——递归方法解决全排列问题
题目描述:▪输⼊的字符s=“ABC”,由字符A,B 和C 组成的全排列为–[“ABC”, “ACB”, “BAC”, “BCA”, “CAB”, “CBA”]解题思路:▪不妨设求解原问题的函数为permutation(s)▪如何将问题进行分解形成子问题,从而可以寻求朋友的帮助?python 代码如下:⚠️对于长度为n的字符串,共有n!个全排列,因此代码的时间复杂度为...原创 2019-05-11 11:21:10 · 3820 阅读 · 3 评论 -
python——递归方法解决汉诺塔问题
汉诺塔移动规则:▪每次只能移动⼀个盘⼦▪移动过程中,⼩的盘⼦不能处于⽐它⼤的盘⼦下⾯解题思路:▪不妨设有函数hanoi( )可以求解该问题,函数参数如何设计?–函数hanoi(n, S=‘A’, T=‘B’,H=‘C’) 可以求解该问题,其中n 为盘⽚数,A, B 和C 分别为三个柱⼦,S 表⽰出发的柱⼦,T 为⽬的柱,H 为过渡⽤柱⼦python代码:...原创 2019-05-11 11:46:55 · 2043 阅读 · 0 评论 -
python——排序算法实现
1.选择排序原理:对每⼀个位置从序列中依次选择出在该位置的元素。(例如,选出最大值放在最后一个位置,选出第二大的元素放在倒数第二个位置)python代码实现:#coding=utf-8def sel_sort_rec(seq, n): if n==0: #边界条件 return ...原创 2019-05-11 13:07:51 · 275 阅读 · 0 评论 -
python实现——优惠券凑单问题
假如有一张使用条件是满X元的优惠券,比如满1000减100,一共有n个商品可以选择,设计一个算法,计算使用这张优惠券所需要的最小代价。(每种商品只能购买一件)输入:目标金额 商品个数 商品价格列表(多个商品)输出:凑单后总价样例输入:1000 4 430 550 440 555样例输出:1105编程思路:1.再价格列表中,先找出单价大于等于...原创 2019-08-29 15:27:43 · 3292 阅读 · 0 评论 -
最先取到红球为胜问题(升级版)
题目描述:一个袋子里面有n个红球,m个蓝球,A,B,C三个人按顺序轮流取球,每次取一个球,A,B中谁先取中红球,谁获胜,C每次只是取走一个球,不计胜负,如果直到取完所有的球,A,B都没有取到红球,则B获胜。请问A获胜的概率是多少?输入:两个整数n和m,分别代表红球和蓝球的个数输出:A获胜的概率,结果保留5位小数输入样例1:1 1输出样例1:0.50000输入样例...原创 2019-09-08 17:59:34 · 649 阅读 · 0 评论 -
不同进制的计时
题目描述:24小时计时制是一个广为使用的计时体系。在一个古老的村庄使用二进制下的24小时制,这时“11:11”表示的就是3点03分。给一个未知的时刻,形如"A:B"的形式来表示,A,B分别是一个字符串,字符串可以由0-9和A-Z组成,分别代表0-9和10-35.求出这个时刻所处的所有可能的进制。输入:一行字符串,即“A:B”的形式,A,B的含义及组成如题面输出:输出可以包含...原创 2019-09-10 16:43:01 · 395 阅读 · 0 评论 -
小马智行Pony.ai算法实习生笔试题3——求相邻数字经K次交换得到的最大值
题目描述:数组中存储了一堆小于10的非负整数,整个数组从左到右代表一个正整数(如数组[0,1,3,2]代表正整数132)。现给出一个正整数K,要求经过K次数组相邻位置元素交换(必须完成K次交换),使得这个数组代表的数字最大。例如,int array[]={0,1,3,2},K=1,则经过1次交换后,数组能代表的最大值为1032;int array[]={0,1,3,2},K=2,则经过...原创 2019-04-22 19:24:46 · 6010 阅读 · 4 评论 -
python编写softmax函数、交叉熵函数
python代码如下:import numpy as np# Write a function that takes as input a list of numbers, and returns# the list of values given by the softmax function.def softmax(L): pass expL = np.exp...原创 2019-04-17 10:24:26 · 2633 阅读 · 0 评论 -
mac版pycharm修改当前项目所用的python 版本
首先查看你的项目的当前所用python 版本(项目的左边栏External Libraries下第一个)接下来,点击软件工具栏左上角的Pycharm Community Edition,选择Preferences,在弹出的对话框左边选中Project Interpreter,在右边的下拉框中选择你要切换成的python版本,点击下方按钮Apply,然后点击OK,关闭对话框即可。原创 2017-10-24 12:26:43 · 10416 阅读 · 0 评论 -
python脚本——删除数据记录文件中奇数行末尾的回车符
用caffe自带的解析日志文件的工具,解析出来的包含Iters 、Seconds 、TestAccuracy 、TestLoss数据的文本文件格式不够整齐,在不该回车的地方出现了换行符,于是写了一个简单的脚本用于处理这样的文本文件。原来的文件如下图:python脚本的代码如下:i=1with open('./full_111.log.test','w') as f: with open('...原创 2018-05-04 23:31:47 · 1041 阅读 · 0 评论 -
python脚本——根据某文件夹下所有文件名实现文件的复制
当时写这个脚本的需求是:想要得到文件夹下有相同的文件名(不包括后缀名)的两个文件夹,即:根据第一个文件夹中的文件名(不包括后缀名),复制第二个文件夹中的同名文件(不包括后缀名)到新的文件夹中。例如:我的第一个文件夹(名称为:123)内容如下:第二个文件夹(名称为:456)内容如下:目标是得到:第三个文件夹(名称为:789)内容如下:(第二个和第三个文件夹具有所有的同名文件)...原创 2018-08-11 01:12:04 · 4390 阅读 · 1 评论 -
python脚本——将同一个文件夹下的相同文件名的不同文件分开
需求:一个文件夹下有相同文件名的两种格式的文件,且数量相等,我的两种文件格式是:jpg和tif.rbox.txt,想要把这两种文件分别放到两个文件夹里面例如:将789文件夹下的两种文件分别放到456文件夹和000文件夹下(原来的456文件夹和000文件夹是空的)代码如下:# -*- coding: utf-8 -*- import time import os ...原创 2018-08-11 03:24:09 · 6619 阅读 · 0 评论 -
python——将指定文件夹中所有JPG格式的文件路径及文件名按行写入txt文件中
机器视觉中,经常需要批量测试训练好的模型,有的测试文件只支持单张图像的测试,我们想要将大量图片进行批量测试并保存,有时就需要把图像文件的路径及文件名写在一个txt文件里,这里以JPG格式的图像为例,我的待处理文件夹如下:代码如下:# -*- coding: utf-8 -*- import time import os import shutildef re...原创 2018-08-20 22:56:50 · 3973 阅读 · 1 评论 -
python实现——根据txt文件进行文件复制并重命名
需求:根据txt文件中所列文件名及路径,将这些文件复制到另外一个文件夹下并重命名,另外,重新生成一份已复制文件的文件路径及文件名列表。txt文件名:imglist.txt原文件所在文件夹:789目标文件夹:000新txt文件名:newlist.txt实现代码:# -*- coding: utf-8 -*- import time import os i...原创 2018-09-21 15:50:29 · 6574 阅读 · 1 评论 -
打卡LeetCode第一天——两数之和
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定nums=[2,7,11,15],target=9因为nums=[0]+nums=[1]=2+7=9所以返回 [0,1]【python代码】class Solution(object): def twoSum(self, ...原创 2018-10-05 11:05:38 · 201 阅读 · 0 评论 -
打卡LeetCode第二天——两数相加
题目:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807【python代码】# ...原创 2018-10-05 13:45:43 · 179 阅读 · 0 评论 -
打卡LeetCode第三天——无重复字符的最长子串
题目要求:给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 无重复字符的最长子串是 "wke"原创 2018-10-15 12:59:48 · 153 阅读 · 0 评论 -
python-除法测试
原创 2018-10-17 18:21:22 · 436 阅读 · 0 评论 -
《剑指 offer》面试题4:二维数组中的查找
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:首先选取数组中右上角的数字,存在以下3种情况:(1)如果该数字等于要查找的数字:则查找过程结束;(2)如果该数字大于要查找的数字:则剔除这个数字所在的列;(3)如果...原创 2019-04-10 22:22:21 · 119 阅读 · 0 评论 -
Numpy中的数据
python很方便,但也会很慢。不过它允许你访问执行用C等语言写的代码的库。Numpy就是这样一个库:它为python中的数学运算提供了一个更快速的替代方案,可以与数字组高效搭配使用,如矩阵。Numpy 是一个很大型的库。1.导入Numpyimport numpy as np之后就可以给函数和类型名称加上前缀np.来使用该库。2.数据类型和形状Numpy中处理数字的常见方式是通...原创 2019-04-16 15:02:07 · 1709 阅读 · 0 评论 -
python+opencv显示label的小脚本
直接上代码:import cv2def lableVisual(im,labelList,name): for i in labelList: cv2.circle(im,(i[0],i[1]), 10, (0,0,255), 3) curPath = './' newPath = curPath+name+'_label.jpg' print newPath cv2...原创 2019-09-18 01:25:21 · 937 阅读 · 0 评论