摘要: 问题描述: 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 示例 2: 进阶:你能不使用循环或者递归来完成本题吗? 方法1:同3的幂循环遍历 方法2:同3的次幂 方法3: 用4的倍数-1与num做与运算。15 = 1111 15 = 1111 16 = 阅读全文
posted @ 2018-09-25 21:29 Assange 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例 1: 示例 2: 示例 3: 示例 4: 方法:取243时,会出错。log(243,3) == 4.9999... 用round 四舍五入。(时间太长) 官方:3^19=1162261467是小于2^31最大的3的倍数 循环: 阅读全文
posted @ 2018-09-25 21:04 Assange 阅读(376) 评论(0) 推荐(0) 编辑
摘要: round的用法: log的用法: import math math.log(9,3) : 2.0 阅读全文
posted @ 2018-09-25 20:54 Assange 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。 示例: 说明: 方法: 2018-09-25 19:46:52 阅读全文
posted @ 2018-09-25 19:47 Assange 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 方法: 分析:剩四个只要对方先拿,自己 阅读全文
posted @ 2018-09-25 19:40 Assange 阅读(148) 评论(0) 推荐(0) 编辑
摘要: >>>a = [1,2,3] >>> b = [4,5,6]>>> c = [4,5,6,7,8]>>> zipped = zip(a,b) # 返回一个对象>>> zipped<zip object at 0x103abc288>>>> list(zipped) # list() 转换为列表[(1 阅读全文
posted @ 2018-09-25 19:23 Assange 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。 示例1: 示例 2: 示例 3: 示例 4: 说明: 你可以假设 pa 阅读全文
posted @ 2018-09-25 18:53 Assange 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 阅读全文
posted @ 2018-09-25 18:48 Assange 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 说明: 方法1:检测到为0纪录0的个数,不为0时进行赋值运算nums[i - k] = nums[i] 最后将检测到的0补到nums的最后 方法2:每次将元素等于0的位置变成[]。 将 阅读全文
posted @ 2018-09-25 18:48 Assange 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 示例 2: 说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现? 方法1: 官方1: 阅读全文
posted @ 2018-09-25 18:47 Assange 阅读(141) 评论(0) 推荐(0) 编辑