剑指Offer(三):递归问题

牛客网《剑指offer》专栏刷题练习 锻炼递归思想 练习栈的使用_剑指offer在哪里刷题 ✅作者简介:C/C++领域新星创作者,为C++和java奋斗中📃推荐一款模拟面试、刷题神器👉🔥前言书接上文,今天继续分享牛客网中的经典好题。那么今天带来两道简单题,用到了递归和栈的知识,我做完之后感觉神清气爽啊。刷题入口放在文章开头了,点击注册即可,那么快来跟我一起刷题练习吧! 阅读详情

题目

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

思路

此问题与汉诺塔的问题类似,主要是代码来实现递归求解。最后一天剩1个,那就是当day=1时,桃子的数目为1,当day>1时,第X天的桃子的总数为(x+1)*2,以此类推,计算得结果。

编程实现

java

public class MonQuestion {
    public static void main(String[] args) {
        System.out.print(peachNum(10));

    }
    public static int peachNum(int days){
        if(days == 1){
            return 1;
        }else if(days > 1){
            return (peachNum(days-1)+1)*2;
        }
        return 0;
    }
}

python3

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
@File  : riskPhone.py
@Author: Piepis
@Date  : 2019/11/20 11:22
@Desc  : 猴子吃桃问题
'''

def peachNum(days):
    if days == 1:
        return 1
    elif days>1:
        return (peachNum(days-1)+1)*2
if __name__ == '__main__':
    print (peachNum(10))

使用 git一个仓库管理多个项目 我们需要在 git 里面创建一个空分支,该分支不继承任何提交,没有父节点,完全是一个干净的分支,这时候就需要使用 orphan。该命令会创建一个新的分支,并且该分支有前一个分支下的所有文件,我们不想提交任何内容,所以我们需要把当前内容全部删除。此时 master 分支已经有一个项目了,下面我们创建新的分支管理另一个项目。此时可以在该分支目录上初始化你的项目,在执行 git 命令提交代码。此时我们就完成了在同一个仓库管理不同项目的需求了。下载仓库到本地之后,进入项目目录,查看分支信息。 阅读详情

相关推荐

一文带你了解SOA接口测试

了解汽车电子行业的人,近几年可能经常见到一个词“SOA”,那SOA具体是什么?作为测试人员应该要测试哪些内容呢?这篇文章就简单给大家介绍一下。SOA(Service Oriented Architecture)是一种面向服务的架构,最早应用于IT行业,虽然行业内对于SOA的定义没有一个统一的描述,但是总体而言,SOA把功能定义成为服务,服务带有明确的可调用接口,并可以通过网络调用。在汽车领域,对于高性能计算平台而言,为了实现域控制器以及区域控制器之间的互联互通和软硬分离、缩短开发周期等优势,也引入了SOA的

怿星科技的博客 7156

剑指Offer-递归和循环-(4)

知识点:递归和循环 题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析:我们先把2x8的覆盖方法记为f(8).用第一个2x1的小矩形去覆盖大矩形的最左边时有两种选择:竖着或者横着放。当竖着放的时候,右边还剩下2x7的区域,这种情况下的覆盖方法记为f(7);横着f(6).f(8)=f(6)+f(7). publ...

qq_35649064的博客 181

并网逆变器学习笔记5---三电平DPWM

三电平DPWM

圆桌骑士的博客 1万+

剑指offer刷题汇总

前言      从今天开始在牛客刷剑指offer,希望每天打卡几个算法,提高自己的编程水平。在优快云做一下记录,随时更新,一起学习吧。 目录大全 数组 剑指offer ( 一 ):二维数组中的查找 剑指offer ( 六 ):旋转数组的最小数字 剑指offer ( 十三 ):调整数组顺序使奇数位于偶数前面【代码完整性】 剑指offer(二十八):数组中出现次数超过一半的数字【 时间效率】...

守得云开见月明 5825

保姆级教程:给你的Jetson Orin NX换个‘大房子’——新SSD初始化与JetPack 6.x刷机全流程

本文提供Jetson Orin NX存储升级与JetPack 6.x系统部署的完整指南,涵盖SSD选型、分区策略、刷机流程及性能优化技巧。通过实测数据展示如何提升AI模型加载速度33%,并分享温度管理、I/O调度等实战经验,助力开发者突破边缘计算存储瓶颈。

weixin_42715608的博客 157

基于FreeSwitch与SIP UA的蓝牙电话坐席系统实战部署

本文详细介绍了如何基于FreeSwitch开源软交换平台,结合SIP UA软电话与蓝牙电话App,在局域网内搭建一套低成本、自主可控的电话坐席系统。文章提供了从环境准备、FreeSwitch安装配置、用户与拨号计划创建,到SIP软电话测试和蓝牙设备接入的完整实战部署流程,并给出了关键优化与排坑指南,适合小微团队或个人开发者构建内部通讯工具。

zeta9的博客 544

《剑指Offer》解题目录(更新完毕)

题目来源于LeetCode上的《剑指Offer》,这里做一个目录方便大家查找。另外有本人的LeetCode解题目录、《程序员面试金典》可点击链接查看。

Michael是个半路程序员 6160

大模型之Spring AI实战系列(二十一):Spring AI + MCP + 本地文件系统实战指南

在上一篇文章中,我们学习了如何使用 Spring AI 集成 Model Context Protocol (MCP),并通过 Brave Search 实现了互联网搜索能力的接入。本文将继续深入 Spring AI 的 MCP 实战能力,介绍如何将 **本地文件系统** 封装为 LLM 可调用的工具

寻道AI,探索AI无限可能! 2519

牛客网《剑指offer》专栏刷题练习|锻炼递归思想|练习栈的使用

🔥前言 书接上文,今天继续分享牛客网中的经典好题。那么今天带来两道简单题,用到了递归和栈的知识,我做完之后感觉神清气爽啊。刷题入口放在文章开头了,点击注册即可,那么快来跟我一起刷题练习吧!...

叶落秋白的博客 1357

LVGL 组件对齐方式说明

本文说明 LVGL(以 v8 为例)中常用的 lv_align_t对齐选项的含义与用法,对应界面设计工具里下拉列表中的以及等命名。

摸鱼专家 131

RK3568 OpenHarmony3.2 蓝牙模块AP6275S适配(已更新)

OpenHarmony3.2 Release版默认是适配AP6275s这款蓝牙芯片的,但是打开蓝牙,发现无法扫描到设备、连接设备。目前平台soc为RK3568,根据项目要求,自定义外设。接下来将以解决bug为目的,学习和记录OpenHarmony平台下蓝牙模块的适配流程。RK809 CLK:32.768KHzUART1M1:与蓝牙模块通讯的串口:GPIO4_B6:GPIO4_A5WAKE_GPIO:未定义,硬件拉高1.8V: 未定义,悬空主要是打开串口,/dev/ttyS1,得到文件描述符fd。

Martian_Jonas的博客 2246

《剑指offer》75题 C++详细题解

刷题快乐~

MuqiuWhite的博客 5474

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

剑指offer-递归系列问题

这篇讲述的是剑指offer上的递归使用的问题,包括斐波那契数列、跳台阶以及它的进阶版变态跳台阶问题 斐波那契数列 题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 class Solution { public: int Fibonacci(int n) { int f1=1,f2=1; ...

lazymanxxx的博客 261

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

剑指Offer(leetcode版)

目录剑指Offer-03 数组中重复的数字剑指Offer-04 二维数组中的查找剑指Offer-05 替换空格剑指Offer-06 从尾到头打印链表剑指Offer-07 重建二叉树剑指Offer-09 用两个栈实现队列剑指Offer-10-I 斐波那契数列剑指Offer-10-II 青蛙跳台阶问题剑指Offer-11 旋转数组的最小数字剑指Offer-12 矩阵中的路径剑指Offer-13 机器人的运动范围剑指Offer-14-I 剪绳子剑指Offer-14-II 剪绳子II剑指Offer-15 二进制中1

todaycode 3253

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

剑指offer每日一练

持续更新......

m0_74404678的博客 2620

《剑指offer》解题笔记

《剑指offer》解题笔记 《剑指offer》共50题,这两周使用C++花时间做了一遍,谨在此把一些很巧妙的方法、写代码遇到的难点、易犯错的细节等做一个简单的标注,但不会太过详细,具体算法还是请参考书本。 做的比较急,代码还有很多不完善的地方,如有错误,欢迎改正,地址为:github:sword_of_offer。可以使用git clone https://github.com/heL

Focustc 8148

剑指offer递归的题

递归目录前情提要正则表达式匹配斐波那契数列矩形覆盖跳台阶变态跳台阶 前情提要 刚刷完牛客网的剑指offer,写个博客对自己的一个总结。第一次刷,很多题只会暴力破解,我把做每道题的个人思路和他人思路用java进行了编写,如果在这篇文章找不到可以试试看看别的区域,因为很多的树的题都是用递归进行做的,我把其归在了树里面。希望自己的博客能对大家有帮助,准备下一个开leetcode hot100题的坑了。 ...

weixin_41692832的博客 360

剑指offer系列——剑指 Offer 25. 合并两个排序的链表

大家好!本篇文章将介绍关于数据结构之链表的OJ题,来自力扣:21. 合并两个有序链表 或 剑指 Offer 25. 合并两个排序的链表 题解,展示代码语言暂时为:Java语言与C语言。(后续会更新C++代码)

未见花闻的博客 2198

剑指offer题目代码总结

剑指 Offer 26. 树的子结构 二叉树匹配类问题总结 B 属于 A 的一部分也可以,没必要一直匹配到叶子节点 递归解法 recur的返回条件: 当节点 B 为空:说明树 B 已匹配完成(越过叶子节点),因此返回 true ; 当节点 A 为空:说明已经越过树 A 叶子节点,即匹配失败,返回 false; 剑指 Offer 28. 对称的二叉树 1.递归解法 2.非递归解法(队列) 剑指 Offer 27. 二叉树的镜像 1.递归解法 2.非递归解法(栈或队列) ​​ ...

weixin_42072280的博客 2047

剑指Offer 67题 C++题解

从2月底开始找工作,到今天,经历了两个月的时间终于得到了百度的offer。今年除去疫情影响的因素,春招难度确实很大。还要加强 代码能力 和 基础能力 。 剑指Offer 67题题解,C++版。从今天开始我会重新在做一遍,整理出完整的 题解思路 以及 AC代码 。 题解完成情况:0/67。 文章目录1.题目(1) 二维数组中的查找(2) 替换空格2.更新日志 1.题目 (1) 二维数组中的查...

x_mn的博客 1780

剑指offer刷题顺序

数组(共12道题目): 【剑指Offer】1、二维数组中的查找 【剑指Offer】6、旋转数组的最小数字 【剑指Offer】13、调整数组顺序使奇数位于偶数前面 【剑指Offer】19、顺时针打印矩阵 【剑指Offer】28、数组中出现次数超过一半的数字 【剑指Offer】30、连续子数组的最大和 【剑指Offer】32、把数组排成最小的数 【剑指Offer】35、数组中的逆序对 【剑指Offer】37、数字在排序数组中出现的次数 【剑指Offer】40、数组中只出现过一次的数字 【剑

sunjingze1的博客 2434

《剑指Offer》递归和循环算法

本文以《剑指Offer》中的题目第七题至第十题为例,做递归和循环算法的笔记记录。 目录 第七题-斐波那契数列 第八题-跳台阶 第九题-变态跳台阶 第十题-矩阵覆盖 第七题-斐波那契数列 题目描述如下: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)n<=39。 思路: 斐波那契数列:1, 1, 2, 3, 5, 8...

长林攻城狮的博客 255

《剑指Offer》 递归总结篇

  反向遍历链表 翻转链表 合并两个排序的链表 0、基础 基本思想,是把规模较大的一个问题,分解成规模较小的多个子问题去解决,而每一个子问题又可以继续拆分成多个更小的子问题。 最重要的一点就是假设子问题已经解决了,现在要基于已经解决的子问题来解决当前问题;或者说,必须先解决子问题,再基于子问题来解决当前问题。 【A】----依赖----&gt;【B】----依赖----&gt;【C】 ...

try_again_later的博客 355

剑指 Offer(第 2 版)

目录剑指 Offer 03. 数组中重复的数字题目介绍题目实现剑指 Offer 04. 二维数组中的查找题目介绍[240. 搜索二维矩阵 II](https://leetcode-cn.com/problems/search-a-2d-matrix-ii/)题目实现剑指 Offer 05. 替换空格题目介绍题目实现剑指 Offer 06. 从尾到头打印链表题目介绍题目实现剑指 Offer 07. 重建二叉树题目介绍[105. 从前序与中序遍历序列构造二叉树](https://leetcode-cn.com/

轻松的小希 3150

《剑指offer》—— 递归和循环

  记录一下牛客网上,剑指 offer 分区的考点为“递归和循环”的题,都很简单,共 4 题:   1、斐波那契数列   2、跳台阶   3、变态跳台阶   4、矩形覆盖 1、斐波那契数列   大家都知道斐波那契数列,现在要求输入一个整数 n,请你输出斐波那契数列的第 n 项(从 0 开始,第 0 项为 0)。(n &amp;amp;lt;= 39)   循环方式: int Fibonacci(int n...

Bob__yuan的博客 253

剑指offer

本习题集用于记录一些剑指offer的习题,用于记录和复盘思路,会持续更新

保持学习 1255
上一篇: Java继承,接口,抽象类习题练习
下一篇: Java连接Redis
piepis
博客等级 码龄10年 104粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

piepis

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值