leetcode
SG_WGL
这个作者很懒,什么都没留下…
展开
-
【Leetcode】292. Nim游戏
题目描述:你和你的朋友,两个人一起玩Nim游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块...原创 2019-04-21 14:46:53 · 222 阅读 · 0 评论 -
【Leetcode】34. 在排序数组中查找元素的第一个和最后一个位置
题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,...原创 2019-07-12 16:32:05 · 215 阅读 · 0 评论 -
【Leetcode】74. 搜索二维矩阵
题目描述:编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ]target = 3输出:true示例 2:输入:matrix...原创 2019-07-12 17:00:56 · 216 阅读 · 0 评论 -
【Leetcode】77. x的平方根
题目描述:实现int sqrt(int x) 函数。计算并返回x的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。思路:正常就是设一个变量i从0开始遍历,判断i * i与x的大小关系,...原创 2019-07-08 19:07:31 · 295 阅读 · 0 评论 -
【Leetcode】46. 全排列
题目描述:给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]思路:全排列无非就是将一组数打乱重排, 统计有几种不同的结果。那么就一个一个放呗,假如有n个数,先放第一个位置,然后n - 1个数又进行全排列...原创 2019-04-30 20:57:44 · 303 阅读 · 0 评论 -
【Leetcode】102. 二叉树的层次遍历
题目描述:给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]思路:如果只是直接打印出层序遍历的结果,那么直接用...原创 2019-04-28 14:39:12 · 235 阅读 · 0 评论 -
【Leetcode】104. 二叉树的最大深度
题目描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。思路:父结点比所有子结点的最大深度大1,直接递归就行了代...原创 2019-04-28 13:58:42 · 341 阅读 · 0 评论 -
【Leetcode】77. 组合
题目描述:给定两个整数n和k,返回 1 ...n中所有可能的k个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]思路:枚举集合{1, 2, 3, ..., n}元素个数为2的所有子集,仍然可用二进制枚举法。代码:class S...原创 2019-05-02 22:34:04 · 206 阅读 · 0 评论 -
【Leetcode】50. Pow(x, n)
题目描述:实现pow(x,n),即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输出: 9.26100示例3:输入: 2.00000, -2输出: 0.25000解释: 2^(-2) = 1/2^2 = 1/4 = 0.25说明:-100.0 <...原创 2019-04-27 22:51:18 · 248 阅读 · 0 评论 -
【Leetcode】78. 子集
题目描述:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]思路:简单的枚举。详见https://blog.csdn.net/SG_...原创 2019-05-02 13:57:59 · 298 阅读 · 0 评论 -
【Leetcode】6. Z 字形变换
题目描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为"LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行...原创 2019-04-27 11:55:17 · 896 阅读 · 1 评论 -
【Leetcode】319. 灯泡开关
题目描述:初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。示例:输入: 3输出: 1解释:初始时, 灯泡状态 [关闭, 关闭, 关闭].第一...原创 2019-04-26 22:58:44 · 348 阅读 · 0 评论 -
【Leetcode】4. 寻找两个有序数组的中位数
题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是...原创 2019-04-26 18:47:06 · 284 阅读 · 0 评论 -
【Leetcode】274. H指数
题目描述:给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的h指数。h 指数的定义: “h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)至多有 h 篇论文分别被引用了至少h 次。(其余的N - h篇论文每篇被引用次数不多于h次。)”示例:输入: citations ...原创 2019-04-22 15:24:40 · 596 阅读 · 0 评论 -
【Leetcode】374. 猜数字大小
题目描述:我们正在玩一个猜数字游戏。 游戏规则如下:我从1到n选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口guess(int num),它会返回 3 个可能的结果(-1,1或0):-1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对了!示例 :输入: n = 10...原创 2019-04-21 15:55:21 · 537 阅读 · 0 评论 -
【Leetcode】343. 整数拆分
题目描述:给定一个正整数n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。思路:1. 暴力搜索...原创 2019-07-25 20:11:56 · 565 阅读 · 0 评论