3的幂
给定一个整数,写一个函数来判断它是否是 3 的幂次方。
示例 1:
1 | 输入: 27 |
示例 2:
1 | 输入: 0 |
示例 3:
1 | 输入: 9 |
示例 4:
1 | 输入: 45 |
进阶:
你能不使用循环或者递归来完成本题吗?
你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。
你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。
示例:
1 | 输入: 4 |
给定一种 pattern(模式)
和一个字符串 str
,判断 str
是否遵循相同的模式。
这里的遵循指完全匹配,例如, pattern
里的每个字母和字符串 str
中的每个非空单词之间存在着双向连接的对应模式。
示例1:
1 | 输入: pattern = "abba", str = "dog cat cat dog" |
示例 2:
1 | 输入:pattern = "abba", str = "dog cat cat fish" |
示例 3:
1 | 输入: pattern = "aaaa", str = "dog cat cat dog" |
示例 4:
1 | 输入: pattern = "abba", str = "dog dog dog dog" |
说明:
你可以假设 pattern
只包含小写字母, str
包含了由单个空格分隔的小写字母。
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。
假设你有 n
个版本 [1, 2, ..., n]
,你想找出导致之后所有版本出错的第一个错误的版本。
你可以通过调用 bool isBadVersion(version)
接口来判断版本号 version
是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。
示例:
1 | 给定 n = 5,并且 version = 4 是第一个错误的版本。 |