Skip to content

Latest commit

 

History

History
91 lines (60 loc) · 2.97 KB

File metadata and controls

91 lines (60 loc) · 2.97 KB

English Version

题目描述

给你一个整数 n,代表你拥有牌的数量。一个 纸牌屋 满足以下条件:

  • 一个 纸牌屋 由一行或多行 三角形 和水平纸牌组成。
  • 三角形 是由两张卡片相互靠在一起形成的。
  • 一张卡片必须水平放置在一行中 所有相邻 的三角形之间。
  • 比第一行高的任何三角形都必须放在前一行的水平牌上。
  • 每个三角形都被放置在行中 最左边 的可用位置。

返回使用所有 n 张卡片可以构建的不同纸牌屋的数量。如果存在一行两个纸牌屋包含不同数量的纸牌,那么两个纸牌屋被认为是不同的。

 

示例 1:

输入: n = 16
输出: 2
解释: 有两种有效的纸牌屋摆法。
图中的第三个纸牌屋无效,因为第一行最右边的三角形没有放在水平纸牌的顶部。

Example 2:

输入: n = 2
输出: 1
解释: 这是唯一可行的纸牌屋。

Example 3:

输入: n = 4
输出: 0
解释: 图中的三种纸牌都是无效的。
第一个纸牌屋需要在两个三角形之间放置一张水平纸牌。
第二个纸牌屋使用 5 张纸牌。
第三个纸牌屋使用 2 张纸牌。

 

提示:

  • 1 <= n <= 500

解法

Python3

Java

TypeScript

...