![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题目训练
小黄鸭zm
这个作者很懒,什么都没留下…
展开
-
python经典题目:交换a,b的值
元气满满的小黄鸭!冲鸭!交换两个数的值,是非常非常容易被问到的题目方法1:直接通过一个中间变量去交换a,b的值def f1(a,b): c=a a=b b=c return (a,b)方法2:python独有的方法def f2(a,b): a,b=b,a return (a,b)方法3:通过简单的逻辑运算将2个值进行互换...原创 2019-03-09 14:31:35 · 13587 阅读 · 0 评论 -
python 找零问题 动态规划
题目描述:现有的钱币:coins=[1,2,5,7,10]找零:change(假定为正整数)求解:如何用最少的钱币进行找零分析:可以使用动态规划比如找零8元,可以将问题进行分解dp[8]=dp[8-coins[j]]+1即:dp[8]=dp[8-1]+1=dp[7]+1dp[8]=dp[8-2]+1=dp[6]+1dp[8]=dp[8-5]+1=dp[3]+...原创 2019-05-14 18:06:11 · 2848 阅读 · 3 评论 -
两个链表的第一个公共节点
思路一:两条相交的链表呈Y型。可以从两条链表尾部同时出发,最后一个相同的结点就是链表的第一个相同的结点。可以利用栈来实现。时间复杂度有O(m + n), 空间复杂度为O(m + n)# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# s...原创 2019-05-06 17:44:01 · 110 阅读 · 0 评论 -
链表成对调换
把1-->2-->3-->4变成2-->1-->4-->3我主要写了2个方法:方法一:用递归调用方法二:直接调换注意:返回的是调换后的链表头结点class Solution(object): def swapPairs(self,head): #使用递归调用 if not head or not h...原创 2019-05-06 16:30:49 · 566 阅读 · 0 评论 -
python 快速幂算法
计算a的b次方,需要考虑:1、b==0 的话,返回12、b<0的情况,设置一个flag,用于返回数据的时候进行判断3、b>0的情况:打个比方:2^6=2*2*2*2*2*2=(2*2)*(2*2)*(2*2)=(2*2)^3=(2*2)*(2*2)^2=# -*- coding:utf-8 -*-class Solution: def Power(sel...原创 2019-04-24 10:21:04 · 7357 阅读 · 0 评论 -
连续子数组的最大和
方法一:遍历数组,遇到负和则抛弃之前的结果,重新积累,期间保留最大值# -*- coding:utf-8 -*-class Solution: def FindGreatestSumOfSubArray(self, array): # write code here if not array: return m...原创 2019-04-28 12:19:47 · 78 阅读 · 0 评论 -
python 四则运算匹配
面完华为后满血复活的小黄鸭上线啦!思想:1、定义2个栈,一个压入数据,一个压入运算符2、定义优先级别: priority={'(':1,'+':3,'-':3,'*':5,'/':5}3、如果str[i]是数字,继续查看str[i+1] if str[i].isdigit(): # print('1') ...原创 2019-04-17 19:50:45 · 796 阅读 · 0 评论 -
求解数组中只出现一次的数字 python
题目一:在一个数组中,只有1个数字仅出现1次,其余数字出现2次,求只出现一次的那个数字。关键点:异或运算相同的数字异或的结果是0:2^2=0 和0异或是本身:0^2=2代码:def one_number(alist): '''一个数组中只有1个数字出现1次,其余都出现偶数次''' a=0 for i in alist: a^=i r...原创 2019-05-16 21:30:03 · 2038 阅读 · 0 评论