Python每日一题 009】的更多相关文章

题目 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. 代码 参照网络上代码 # coding: utf-8 import os import re # 代码所在目录 FILE_PATH = 'TestDir' def count_line(file): note_line = 0 # 注释行数 blank_line = 0 # 空行 with open(file, 'r', encoding='utf-8') as f: lines = f.rea…
将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中. 代码 import redis import uuid # 创建实例 r=redis.Redis("127.0.0.1","6379") # 获取优惠码 def get_id(): for i in range(200): ID = str(uuid.uuid1()) return ID if __name__ == '__main__': for i in range(2…
将 002 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中. 代码 import pymysql import uuid def get_id(): for i in range(200): ID = str(uuid.uuid1()) Insert_Value(i+1,ID) # 创建表 def Create_Table(): # 使用预处理语句创建表 sql = """CREATE TABLE NUM_Shopping ( ID_NAME CH…
做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 在此生成由数字,字母组成的20位字符串 uuid模块 import uuid def get_id(): file_object = open('uudi.txt','w+') for i in range(200): ID = str(uuid.uuid1()) + '\n' file_object.write("ID"…
题目 基于多线程的网络爬虫项目,爬取该站点http://www.tvtv.hk 的电视剧收视率排行榜 分析 robots.txt User-agent: Yisouspider Disallow: /wp-admin User-agent: ChinasoSpider Disallow: / User-agent: MJ12bot Disallow: / User-agent: AhrefsBot Disallow: / User-agent: YandexBot Disallow: / 一级U…
题目 你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词. 很难客观的说每篇日记中最重要的词是什么,所以在这里就仅仅是将每篇日记中出现频数最高的词作为最重要的词.同时过滤掉一些词诸如[I,is,are,has,and,or]等等 代码 # -*- coding: utf-8 -*- from collections import Counter import re import string import os def get_…
题目 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小. 如果只是单纯的通过将图片缩放到iPhone5分辨率大小,显然最后呈现出来的效果会很糟糕.所以等比例缩放到长(或宽)一定时,再将宽(或长)进行裁剪 代码 from PIL import Image import os def ZoomImage(dir,filename): IMG1=Image.open(dir) width,height=IMG1.size if (width/height)<=(i5_…
任一个英文的纯文本文件,统计其中的单词出现的个数. 代码 # coding:utf-8 import re def get_word(filename): fp=open(filename,"r+") word=fp.read() word=re.split("\W|\s",word) fp.close() return word def Stastic_Word(list): result={} for i in set(list): result[i]=list…
Github地址:https://github.com/Yixiaohan/show-me-the-code Talk is Cheap, show me the code. --Linus Torvalds 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果: 环境准备 安装PIL模块,Windows环境下:(python3) pip install pillow 代码: from PIL import Image,ImageFont,…
第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def countCode(path): if not os.path.exists(path): print('路径不存在!') else: fileNameList = os.listdir(path) for fileName in fileNameList: nbspCount = 0 commentCoun…
[python]Leetcode每日一题-寻找旋转排序数组中的最小元素 [题目描述] 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组.例如,原数组nums = [0,1,2,4,5,6,7]在变化后可能得到: 若旋转4次,则可以得到 [4,5,6,7,0,1,2] 若旋转4次,则可以得到 [0,1,2,4,5,6,7] 注意,数组[a[0], a[1], a[2], ..., a[n-1]]旋转一次 的结果为数组[a[n-1], a[0], a[1],…
[python]Leetcode每日一题-删除有序数组中的重复项 [题目描述] 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现一次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成. 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的. 你可以想象内部操作如下: // nums 是以"引用"…
[python]Leetcode每日一题-存在重复元素3 [题目描述] 给你一个整数数组 nums 和两个整数 k 和 t .请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k . 如果存在则返回 true,不存在返回 false. 示例1: 输入:nums = [1,2,3,1], k = 3, t = 0 输出:true 示例2: 输入:nums = [1,0,1,1], k = 1, t…
[python]Leetcode每日一题-扰乱字符串 [题目描述] 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串.即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y . 随机 决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」.即,在执行这一步骤之后,s 可能是 s = x + y 或者 s =…
[python]Leetcode每日一题-前缀树(Trie) [题目描述] Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键.这一数据结构有相当多的应用情景,例如自动补完和拼写检查. 请你实现 Trie 类: Trie() 初始化前缀树对象. void insert(String word) 向前缀树中插入字符串 word . boolean search(String word) 如果字符串 word 在前缀树中,返回 tru…
[python]Leetcode每日一题-打家劫舍2 [题目描述] 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 . 给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,能够偷窃到的最高金额. 示例1: 输入:nums = [2,3,2] 输出:3 解释:你不能先偷窃 1 号房…
[python]Leetcode每日一题-二叉搜索树节点最小距离 [题目描述] 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 示例1: 输入:root = [4,2,6,1,3] 输出:1 示例2: 输入:root = [1,0,48,null,null,12,49] 输出:1 提示: 树中节点数目在范围 [2, 100] 内 0 <= Node.val <= 10^5 [分析] dfs中序遍历 代码 # Definition for a binary…
[python]Leetcode每日一题-最大数 [题目描述] 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数. 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数. 示例1: 输入:nums = [10,2] 输出:"210" 示例2: 输入:nums = [3,30,34,5,9] 输出:"9534330" 示例3: 输入:nums = [1] 输出:"1" 提示: 1 <= nums…
[python]Leetcode每日一题-丑数2 [题目描述] 给你一个整数 n ,请你找出并返回第 n 个 丑数 . 丑数 就是只包含质因数 2.3 和/或 5 的正整数. 示例1: 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列. 示例2: 输入:n = 1 输出:1 解释:1 通常被视为丑数. 提示: 1 <= n <= 1690 [分析] dp 思路就是开一个数组,若x为丑数,则2x.3x.5x均为…
[python]Leetcode每日一题-丑数 [题目描述] 给你一个整数 n ,请你判断 n 是否为 丑数 .如果是,返回 true :否则,返回 false . 丑数 就是只包含质因数 2.3 和/或 5 的正整数. 示例1: 输入:n = 6 输出:true 解释:6 = 2 × 3 示例2: 输入:n = 8 输出:true 解释:8 = 2 × 2 × 2 示例3: 输入:n = 14 输出:false 解释:14 不是丑数,因为它包含了另外一个质因数 7 . 示例4: 输入:n =…
[python]Leetcode每日一题-寻找旋转排序数组中的最小元素2 [题目描述] 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组.例如,原数组nums = [0,1,2,4,5,6,7]在变化后可能得到: 若旋转4次,则可以得到 [4,5,6,7,0,1,2] 若旋转4次,则可以得到 [0,1,2,4,5,6,7] 注意,数组[a[0], a[1], a[2], ..., a[n-1]]旋转一次 的结果为数组[a[n-1], a[0], a[1]…
[python]Leetcode每日一题-搜索排序数组2 [题目描述] 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同. 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数).例如, [0,1,2,4,4,4,5,6,6,7] 在下…
[python]Leetcode每日一题-合并两个有序数组 [题目描述] 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 初始化 nums1 和 nums2 的元素数量分别为 m 和 n .你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素. 示例1: 输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3 输…
[python]Leetcode每日一题-删除有序数组中的重复项2 [题目描述] 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成. 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的. 你可以想象内部操作如下: // nums 是以"引用&quo…
[python]Leetcode每日一题-森林中的兔子 [题目描述] 森林中,每个兔子都有颜色.其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色.我们将这些回答放在 answers 数组里. 返回森林中兔子的最少数量. 示例1: 示例: 输入: answers = [1, 1, 2] 输出: 5 解释: 两只回答了 "1" 的兔子可能有相同的颜色,设为红色. 之后回答了 "2" 的兔子不会是红色,否则他们的回答会相互矛盾. 设回答了 "…
[python]Leetcode每日一题-最长公共子序列 [题目描述] 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串. 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde"…
[python]Leetcode每日一题-直方图的水量(接雨水) [题目描述] 给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水). 感谢 Marcos 贡献此图. 示例1: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 [分析] 思路 填满水坑的图像是左右非完全单调递增的,由此可以…
[python]Leetcode每日一题-笨阶乘 [题目描述] 通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积.例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1. 相反,我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一个固定顺序的操作符序列来依次替换原有的乘法操作符:乘法(*),除法(/),加法(+)和减法(-). 例如,clumsy(10) = 10 * 9 / 8 + 7 - 6 * 5 / 4…
[python]Leetcode每日一题-颠倒二进制位 [题目描述] 颠倒给定的 32 位无符号整数的二进制位. 示例1: 输入: 00000010100101000001111010011100 输出: 00111001011110000010100101000000 解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596, 因此返回 964176192,其二进制表示形式为 00111001011110000010100101…
[python]Leetcode每日一题-二叉搜索迭代器 [题目描述] 实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象.BST 的根节点 root 会作为构造函数的一部分给出.指针应初始化为一个不存在于 BST 中的数字,且该数字小于 BST 中的任何元素. boolean hasNext() 如果向指针右侧遍历存在数字,则返回 true :否…