
Python
神不烦
努力努力再努力
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[leetcode]Python实现-299. 猜数字游戏
299. 猜数字游戏描述你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位数字猜对了但是位置不对(称为“Cows”, 奶牛)。你的朋友将会根据提示继续猜,直到猜出秘密数字。请写出一个根据秘密数字和朋友的猜测数返回提示的函数,用 A 表示公牛,用...原创 2020-04-27 00:25:33 · 646 阅读 · 0 评论 -
【leetcode】Python实现-219.存在重复元素 II
219.存在重复元素 II描述 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 输入: nums = [1,2,3,1], k = 3 输出: true 输入: nums = [1,0,1,1], k = 1 输出: true ...原创 2018-06-10 13:13:11 · 1404 阅读 · 0 评论 -
【leetcode】Python实现-206.反转链表
206.反转链表描述 反转一个单链表示例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL我class Solution: def reverseList(self, head): """ :type.原创 2018-06-10 13:11:14 · 2658 阅读 · 0 评论 -
【leetcode】Python实现-290.单词模式
290.单词模式顺便把相关的290给做了。 描述 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。 这里的遵循指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应模式。示例 输入: pattern = “abba”, str = “dog cat cat dog” 输出...原创 2018-06-10 13:10:44 · 819 阅读 · 0 评论 -
【leetcode】Python实现-205.同构字符串
205.同构字符串描述 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 输入: s = “egg”, t = “add” 输出: true 输入: s = “...原创 2018-06-10 13:10:02 · 2871 阅读 · 0 评论 -
【leetcode】Python实现-204.计数质数
204.计数质数描述 统计所有小于非负整数 n 的质数的数量。示例 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。我 import math flag = 0 sum = 0 for i in range(2, n): ...原创 2018-06-10 13:09:23 · 3951 阅读 · 6 评论 -
[leetcode]Python实现-350.两个数组的交集II
350.两个数组的交集II描述 给定两个数组,写一个方法来计算它们的交集。例如 给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。跟进 如果给定的数组已经排好序呢?你将如何优化你...原创 2018-06-17 13:33:41 · 1299 阅读 · 1 评论 -
[leetcode]Python实现-349.两个数组的交集
349.两个数组的交集描述 给定两个数组,写一个函数来计算它们的交集。例子 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示 每个在结果中的元素必定是唯一的。 我们可以不考虑输出结果的顺序。我class Solution: def intersection(self, nums1, ...原创 2018-06-17 13:33:15 · 1460 阅读 · 0 评论 -
[leetcode]Python实现-345.反转字符串中的元音字母
345.反转字符串中的元音字母描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 给定 s = “hello”, 返回 “holle”. 给定 s = “leetcode”, 返回 “leotcede”. 元音字母不包括 “y”.思路:元音字母a,o,i,e,u。首先按序找出字符串中的元音字母,记录下索引值存放在列表index_list...原创 2018-06-16 21:40:54 · 2164 阅读 · 0 评论 -
[leetcode]Python+Javascript实现-344.反转字符串
344.反转字符串描述 请编写一个函数,其功能是将输入的字符串反转过来。示例 输入:s = “hello” 返回:”olleh”我class Solution: def reverseString(self, s): """ :type s: str :rtype: str """...原创 2018-06-16 21:40:22 · 2001 阅读 · 1 评论 -
[leetcode]Python实现-342.4的幂
342.4的幂描述 给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂。示例 当 num = 16 时 ,返回 true 。 当 num = 5时,返回 false。 问题进阶:你能不使用循环/递归来解决这个问题吗?我class Solution: def isPowerOfFour(self, num): ...原创 2018-06-16 21:39:44 · 405 阅读 · 2 评论 -
[leetcode]Python实现-326.3的幂
326.3的幂描述 给定一个整数,写一个函数来判断它是否是 3 的幂次方。示例 输入: 27 输出: true 输入: 0 输出: false 输入: 9 输出: true 输入: 45 输出: false进阶 你能不使用循环或者递归来完成本题吗?对不起,我还是使用了循环。class Solution:...原创 2018-06-16 21:39:17 · 821 阅读 · 0 评论 -
[leetcode]Python实现-303.区域和检索 - 数组不可变
303.区域和检索 - 数组不可变描述 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 ...原创 2018-06-16 21:38:42 · 1317 阅读 · 1 评论 -
[leetcode]Python实现-292.Nim游戏
292.Nim游戏描述 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例 输入: 4 输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比...原创 2018-06-16 21:38:07 · 1876 阅读 · 0 评论 -
Python之format详解
Python之format详解原文1.通过位置>>> 'a1 = {} a2 = {}'.format('first','second')'a1 = first a2 = second'>>> 'a1 = {1} a2 = {0}'.format('first','second')'a1 = second a2 = first'>...转载 2018-06-02 00:14:30 · 594 阅读 · 0 评论 -
【leetcode】Python实现-234.回文链表
234.回文链表描述 请判断一个链表是否为回文链表示例 输入: 1->2 输出: false输入: 1->2->2->1 输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?我class Solution: def isPalindrome(self, head): ...原创 2018-06-10 13:11:45 · 4198 阅读 · 0 评论 -
【leetcode】Python实现-217.存在重复元素
217.存在重复元素描述 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 输入: [1,2,3,1] 输出: true 输入: [1,2,3,4] 输出: false 输入: [1,1,1,3,3,4,3,2,4,2] 输出: true...原创 2018-06-10 13:12:34 · 1798 阅读 · 2 评论 -
[leetcode]Python实现-383.赎金信
383. 赎金信描述给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruc...原创 2019-09-10 23:15:03 · 214 阅读 · 0 评论 -
[leetcode]Python+Javascript实现-38. 报数/外观数列
38. 报数描述报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 ...原创 2019-07-02 23:30:21 · 497 阅读 · 0 评论 -
Python 排序---sort与sorted学习
https://www.cnblogs.com/ShaunChen/p/6205330.html转载 2018-07-13 10:07:58 · 159 阅读 · 0 评论 -
Python实现常用排序算法
排序算法总结参考: 1.https://www.cnblogs.com/RainyBear/p/5258483.html 2.https://blog.youkuaiyun.com/sunxianghuang/article/details/51872360外部排序:排序的数据过大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。内部排序:插入类排序 - 插入排序 - 希...原创 2018-07-04 22:12:25 · 298 阅读 · 0 评论 -
[leetcode]Python实现-147.对链表进行插入排序
147.对链表进行插入排序描述 对链表进行插入排序。 插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序只从输入数据中移除一个待...原创 2018-07-11 00:27:58 · 1829 阅读 · 0 评论 -
[leetcode]Python实现-75.分类颜色
75.分类颜色描述 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意 不能使用代码库中的排序函数来解决这道题。示例 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2]进阶...原创 2018-07-11 00:27:19 · 1858 阅读 · 0 评论 -
Python下划线总结
转自https://blog.youkuaiyun.com/yaopliu/article/details/78152593本文译自:https://shahriar.svbtle.com/underscores-in-python本文讨论了Python中_字符的使用。就像Python里的很多东西一样,我们会看到,_不同的用法(不总是!)是一个惯例问题。一:单独的单下划线(_):通常在3中情形中使用:1:在解...转载 2018-06-20 16:50:19 · 230 阅读 · 0 评论 -
[leetcode]Python实现-371.两整数之和
371.两整数之和描述 不使用运算符 + 和-,计算两整数a 、b之和。示例 若 a = 1 ,b = 2,返回 3。参考1 参考2 在不准使用+和-的情况下,我们考虑位运算。 我们考虑位运算加法的四种情况:0 + 0 = 01 + 0 = 10 + 1 = 01 + 1 = 1(with carry)在学习位运算的时候,我们知道XOR的一...原创 2018-06-19 20:49:31 · 2428 阅读 · 0 评论 -
[leetcode]Python实现-633.平方数之和
633.平方数之和描述 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。示例 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 输入: 3 输出: False思路:使用双指针法,最小为0,最大为输入数的平方根,判断当前两个指针是否满足要求,然后相应移动l或者hclas...原创 2018-06-18 19:26:40 · 1031 阅读 · 0 评论 -
[leetcode]Python实现-367.有效的完全平方数
367.有效的完全平方数描述 给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。注意:不要使用任何内置的库函数,如 sqrt。示例 输入: 16 输出: True 输入: 14 输出: False我 思路:老老实实遍历的话会超时,于是使用二分查找。class Solutio...原创 2018-06-18 19:26:14 · 1628 阅读 · 0 评论 -
【leetcode】Python实现-226.翻转二叉树
226.翻转二叉树描述 翻转一棵二叉树。示例 我# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Non...原创 2018-06-10 13:14:38 · 1929 阅读 · 0 评论 -
【leetcode】Python实现-225.用队列实现栈
225.用队列实现栈描述 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空注意 你只能使用队列的基本操作– 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。 ...原创 2018-06-10 13:14:09 · 2780 阅读 · 2 评论 -
【leetcode】Python实现-220.存在重复元素 III
220.存在重复元素 III就着把三题关联的给做了 描述 给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j]的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。示例 输入: nums = [1,2,3,1], k = 3, t = 0 输出: true 输入: nums = [1,0,...原创 2018-06-10 13:13:40 · 2070 阅读 · 0 评论 -
lambda,map,zip,reduce,filter解析
1.lambda表达式的用法lambda的主体是一个表达式例子:>>> f = lambda x,y: x+y>>> f(1,2)32.zip()函数用法zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参...原创 2018-06-02 00:13:37 · 273 阅读 · 0 评论 -
Python一些惊艳语法记录(持续更新)
1.利用max()和min()函数 if value > 100: value = 100 if value < 0: value = 0一条语句: max(min(value,100),0)2.使用分片将数据逆序。例如求一个数是不是回数。list[::-1]3.if语句if x >0: x ...原创 2018-06-23 21:55:55 · 255 阅读 · 0 评论 -
记录一些Python知识点(持续更新)
记录一些Python知识点1.Python连续赋值两个方法: 1)a = b = c = 1 2)a, b, c = 1, 2, 3 易错用法: a, b, c = 12.字符串与列表相互转换字符串转列表: 方法1-split()&gt;&gt;&gt; s = 'a b c d'&gt;&gt;&gt; s.split(' ')['a', 'b', ...原创 2018-06-23 21:51:55 · 293 阅读 · 0 评论 -
[leetcode]Python实现-235.二叉搜索树的最近公共祖先
235.二叉搜索树的最近公共祖先描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,...原创 2018-06-11 21:05:40 · 2660 阅读 · 1 评论 -
[leetcode]Python实现-232.用栈实现队列
232.用栈实现队列描述 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首部移除元素。 peek() – 返回队列首部的元素。 empty() – 返回队列是否为空。 示例 MyQueue queue = new MyQueue(); queue.push(1); queue....原创 2018-06-11 21:03:57 · 1316 阅读 · 1 评论 -
[leetcode]Python实现-231.2的幂
231.2的幂描述 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例输入: 1 输出: true 解释: 20202^0 = 1输入: 16 输出: true 解释: 24242^4 = 16输入: 218 输出: false思考: 这道题的第一反应是sqrt()函数,但要使用该函数的话需要导入math包,这种做法并不合适刷题。然后就开始...原创 2018-06-11 21:02:16 · 898 阅读 · 0 评论 -
Python字符串常用方法总结
str常用方法总结1 str.capitalize()将字符串的首字母转化为大写,其他字母全部转化为小写。 如: ‘hello, World’.capitalize()会输出’Hello, world’2 str.lower()将字母转化为小写3 str.upper()将字母转化为大写4 count(sub[,start[,end]])返回索引值sta...原创 2018-05-11 11:16:32 · 345 阅读 · 0 评论 -
【leetcode】Python+Javascript实现-27.移除元素
27.移除元素 给定一个数组和一个值,在这个数组中原地移除指定值和返回移除后新的数组长度。 不要为其他数组分配额外空间,你必须使用 O(1) 的额外内存原地修改这个输入数组。 元素的顺序可以改变。超过返回的新的数组长度以外的数据无论是什么都没关系。示例 给定 nums = [3,2,2,3],val = 3, 你的函数应该返回 长度 = 2,数组的前两个元素...原创 2018-05-10 21:39:16 · 2190 阅读 · 0 评论 -
【leetcode】Python + Javascript 实现-26 从有序数组中删除重复项
26 从有序数组中删除重复项 描述: 给定一个有序数组,你需要原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度。 不要另外定义一个数组,您必须通过用 O(1) 额外内存原地修改输入的数组来做到这一点。示例 给定数组: nums = [1,1,2], 你的函数应该返回新长度 2, 并且原数组nums的前两个元素必须是1和2 不需要理会新的数组...原创 2018-05-10 21:38:33 · 534 阅读 · 0 评论 -
【leetcode】Python实现-21.合并两个有序链表
21.合并两个有序链表 合并两个已排序的链表,并将其作为一个新列表返回。新列表应该通过拼接前两个列表的节点来完成。 示例 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4这题我写不出来,参考别人的写了好几遍依旧不流畅。所以这题应经常刷。 dummy = ListNode(0...原创 2018-05-10 21:37:51 · 3304 阅读 · 1 评论