Python3
Glorious只為你
欲戴王冠,必承其重......
展开
-
AcWing 13. 找出数组中重复的数字
题目描述给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。注意:如果某些数字不在 0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1;样例给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。...原创 2019-03-21 15:16:32 · 163 阅读 · 0 评论 -
AcWing 32. 调整数组顺序使奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序。使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。样例输入:[1,2,3,4,5]输出: [1,3,5,2,4]算法(头尾指针扫描) O(n)用两个指针分别从首尾开始,往中间扫描。扫描时保证第一个指针前面的数都是奇数,第二个指针后面的数都是偶数。每次迭代时需要进行的操作:第一个指...原创 2019-03-25 17:33:12 · 200 阅读 · 0 评论 -
AcWing 28. 在O(1)时间删除链表结点
题目描述给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。假设链表一定存在,并且该节点一定不是尾节点。样例输入:链表 1->4->6->8 删掉节点:第2个节点即6(头节点为第0个节点)输出:新链表 1->4->8算法要求在O(1)时间,所以就不能遍历,要智取,我们可以将要删除节点的下一个节点赋值给当前节点,再...原创 2019-03-25 17:10:49 · 180 阅读 · 0 评论 -
AcWing 16. 替换空格
题目描述请实现一个函数,把字符串中的每个空格替换成"%20"。你可以假定输入字符串的长度最大是1000。注意输出字符串的长度可能大于1000。样例输入:"We are happy."输出:"We%20are%20happy."Python3 代码### Python3 代码class Solution(object): def replaceSpa...原创 2019-03-22 09:29:09 · 102 阅读 · 0 评论 -
AcWing 26. 二进制中1的个数
题目描述输入一个32位整数,输出该数二进制表示中1的个数。注意:负数在计算机中用其绝对值的补码来表示。样例1输入:9输出:2解释:9的二进制表示是1001,一共有2个1。样例2输入:-2输出:31解释:-2在计算机里会被表示成11111111111111111111111111111110, 一共有31个1。Python3 代码###...原创 2019-03-25 16:56:36 · 192 阅读 · 0 评论 -
AcWing 25. 剪绳子
题目描述给你一根长度为nn绳子,请把绳子剪成mm段(mm、nn都是整数,2≤n≤582≤n≤58并且m≥2m≥2)。每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0]k[1] … k[m] 可能的最大乘积是多少?例如当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到最大的乘积18。样例输入:8输出:18算法查资料网上搜...原创 2019-03-25 16:43:46 · 193 阅读 · 0 评论 -
AcWing 22. 旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个升序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。数组可能包含重复项。注意:数组内所含元素非负,若数组大小为0,请返回-1。样例输入:nums=[2,2,2,0,1]输出:0Python3 代码...原创 2019-03-25 14:49:38 · 163 阅读 · 0 评论 -
Python中下划线的5种含义
作者:地球的外星人君链接:https://zhuanlan.zhihu.com/p/36173202来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。分享一篇文章:The Meaning of Underscores in Python。本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangli...转载 2019-03-25 14:33:16 · 137 阅读 · 0 评论 -
AcWing 21. 斐波那契数列
题目描述输入一个整数nn,求斐波那契数列的第nn项。假定从0开始,第0项为0。(nn<=39)样例输入整数 n=5 返回 5Python3 代码1(递归-Time Limit Exceeded)### Python3 代码1class Solution(object): def Fibonacci(self, n): """...原创 2019-03-25 14:27:56 · 213 阅读 · 0 评论 -
AcWing 20. 用两个栈实现队列
题目描述请用栈实现一个队列,支持如下四种操作:push(x) – 将元素x插到队尾; pop() – 将队首的元素弹出,并返回该元素; peek() – 返回队首元素; empty() – 返回队列是否为空;注意:你只能使用栈的标准操作:push to top,peek/pop from top,size和is empty; 如果你选择的编程语言没有栈的标准库,你可以使...原创 2019-03-25 14:02:46 · 258 阅读 · 0 评论 -
AcWing 19. 二叉树的下一个节点
题目描述给定一棵二叉树的其中一个节点,请找出中序遍历序列的下一个节点。注意:如果给定的节点是中序遍历序列的最后一个,则返回空节点; 二叉树一定不为空,且给定的节点一定不是空节点;样例假定二叉树是:[2, 1, 3, null, null, null, null], 给出的是值等于2的节点。则应返回值等于3的节点。解释:该二叉树的结构如下,2的后继节点是3。 2 ...原创 2019-03-25 13:44:10 · 119 阅读 · 0 评论 -
AcWing 18. 重建二叉树
题目描述输入一棵二叉树前序遍历和中序遍历的结果,请重建该二叉树。注意:二叉树中每个节点的值都互不相同; 输入的前序遍历和中序遍历一定合法;样例给定:前序遍历是:[3, 9, 20, 15, 7]中序遍历是:[9, 3, 15, 20, 7]返回:[3, 9, 20, null, null, 15, 7, null, null, null, null]返回的二叉树如下...原创 2019-03-25 12:01:03 · 147 阅读 · 0 评论 -
AcWing 15. 二维数组中的查找
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。样例输入数组:[ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15]]如果输入查找数值为7,则返回true,如果输入查找数值为...原创 2019-03-21 15:29:08 · 115 阅读 · 0 评论 -
AcWing 17. 从尾到头打印链表
题目描述输入一个链表的头结点,按照从尾到头的顺序返回节点的值。返回的结果用数组存储。样例输入:[2, 3, 5]返回:[5, 3, 2]Python3 代码### Python3 代码# Definition for singly-linked list.# class ListNode(object):# def __init__(self,...原创 2019-03-22 17:00:18 · 133 阅读 · 0 评论