Leetcode17 应用题-上

这篇博客主要介绍了LeetCode中的8个经典应用题,包括上楼梯问题、猜数字游戏、套餐组合、种树问题、算术机器人操作、扑克游戏策略、解决酒瓶子问题以及灯泡开关问题。通过Python实现,涵盖了算法和逻辑思维的多个方面。
摘要由CSDN通过智能技术生成

目录

1.上楼梯问题

2.猜数字问题

3.套餐组合问题

4.种树问题

5.算术机器人

6.扑克游戏

7.酒瓶子问题

8.灯泡问题


1.上楼梯问题

1.walkDownStairsQues.py:

#!/usr/bin/python3
#-*- coding: UTF-8 -*-
#Author: afei00123

'''
1、上楼梯问题
    现在有一个n阶台阶,小明同学可以每次选择上1节台阶,也可以选择上2阶台阶。如果需要最终刚好登有台阶。
那小明有多少种方式可选,要求使用编程解决。例如:假设楼梯台阶有3阶,那么小明有3种选择:
(1)每次上一阶台阶;(2)先上一阶再上两阶;(3)先上两阶再上一阶。
解题思路:抽象问题,递归回溯解题。
'''

from functools import lru_cache

#入口函数
def walkDownstairs(n):
    return ways(n)
#该装饰器为递归函数增加缓存策略,提供性能
@lru_cache()
def ways(n):
    #只剩一阶台阶,只有一种上楼方式
    if n<= 1:
        return 1
    # 只剩2阶台阶,只有2种上楼方式
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

afei00123

您的支持是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值