前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >365天刷题第二天-汽水瓶问题

365天刷题第二天-汽水瓶问题

作者头像
程序员小王
发布2020-04-26 09:17:57
1.5K0
发布2020-04-26 09:17:57
举报
文章被收录于专栏:架构说

题目信息

  • 链接:汽水瓶
  • 来源:Interview Question
  • 难度:Easy

一、题目描述

有这样一道智力题:

“某商店规定:三个空汽水瓶可以换一瓶汽水。

如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?

二、举例

小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”

答案是5瓶,

方法如下:

  • 先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,
  • 用3个再换一瓶,喝掉这瓶满的,
  • 这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。

三、解题思路

第一轮

空瓶个数n

汽水瓶个数

剩余空瓶

1

10

3

1

2

4

1

1

3

2

四、参考代码

c++递归版本

五、回顾

六、 举一反三

举一反三 --从“汽水兑换”案例,看你能不能当产品经理?

话说有一小卖部,1瓶汽水卖2块钱,2个空瓶可以兑换1瓶汽水,4个瓶盖也可以兑换1瓶汽水。 请问,10块钱最多可以喝多少瓶汽水?”

架构性思维能力

架构性思维能力,即指能够自上而下、先于具体问题而在系统层面解决问题的能力。

例如,近期天气变化大而你需要驾车出远门,你能提前规划行驶路线、绕开事故黑点、避开未知风险。

在产品工作上,你能在面对多分支复杂场景设计之时,高屋建瓴地确立系统性原则和底层逻辑;

你能在设计大型系统之初,依据业务、产品和技术架构需求,理清各模块边界,提前消除实际开发中的重度模糊区域。

架构性思维与推理性思维的差异在于:

体现在汽水兑换这个案例上,有可能便是这样:

举一反三 --不断递归变多情况

古印度国王舍罕酷爱下棋,他打算重赏国际象棋的发明人宰相西萨·班·达依尔。 这位聪明的大臣指着象棋盘对国王说:“陛下,我不要别的赏赐, 请您在这张棋盘的第一个小格内放入一粒麦子,在第二个小格内放入两粒, 第三小格内放入四粒,以此类推,每一小格内都比前一小格加一倍的麦子, 直至放满 64 个格子,然后将棋盘上所有的麦粒都赏给您的仆人我吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Offer多多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目信息
  • 一、题目描述
  • 二、举例
  • 三、解题思路
  • 四、参考代码
    • c++递归版本
    • 五、回顾
    • 六、 举一反三
    • 举一反三 --从“汽水兑换”案例,看你能不能当产品经理?
    • 架构性思维能力
      • 举一反三 --不断递归变多情况
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档