
leetcode
文章平均质量分 69
哈哈大师2017
笨鸟先飞
展开
-
字符串转整型数(剑指offer/leetcode)
实现 atoi,将字符串转为整数。提示:仔细考虑所有输入情况。如果你想挑战自己,请不要看下面并自己考虑所有可能的输入情况。说明:这题解释的比较模糊(即没有指定输入格式)。你得事先汇集所有的输入情况。字符串转整型数是典型的字符串处理, 对于这道题没有什么技巧,就是一个字符一个字符进行处理,同时需要对边界条件进行有效的控制1、循环遍历跳过数字前的空格;2、记录第一个正负符号;3、正负号后开始对字符串进...原创 2018-03-29 12:44:03 · 273 阅读 · 0 评论 -
60. 第k个排列(leetcode)
给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:"123""132""213""231""312""321"给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。示例 1:输入: n = 3, k = 3输出: "213&quo原创 2018-06-06 23:37:50 · 912 阅读 · 0 评论 -
437. 路径总和 III(leetcode)
给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 ...原创 2018-06-12 00:42:43 · 691 阅读 · 0 评论 -
647. 回文子串(leetcode/C++)
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。示例 1:输入: "abc"输出: 3解释: 三个回文子串: "a", "b", "c".示例 2:输入: "aaa"输出: 6说明: 6个回文子串: "a", "a", "a", "aa&原创 2018-05-16 19:56:07 · 1390 阅读 · 0 评论 -
309. 最佳买卖股票时机含冷冻期(leetcode/C++)
给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:prices = [1, 2, 3, 0, 2]maxProfit = 3transactions ...原创 2018-05-15 14:48:40 · 2085 阅读 · 1 评论 -
25. k个一组翻转链表(leetcode/C++)
给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->1->4-&...原创 2018-05-14 17:36:44 · 806 阅读 · 0 评论 -
leetcode357. 计算各个位数不同的数字个数(Count Numbers with Unique Digits )
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n。示例:给定 n = 2,返回 91。(答案应该是除[11,22,33,44,55,66,77,88,99]外,0 ≤ x < 100 间的所有数字)一道简单的数数问题,没去想简单的方法,直接枚举判断是否符合条件。这里判断的时候用到了set判断是否有重复元素。细节见代码:class Solution...原创 2018-04-29 16:02:55 · 881 阅读 · 0 评论 -
Leetcode 343. 整数拆分(Integer Break)
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。例如,给定 n = 2,返回1(2 = 1 + 1);给定 n = 10,返回36(10 = 3 + 3 + 4)。注意:你可以假设 n 不小于2且不大于58。做题之前是选标签的,所以直接用动态规划的思想解题,一般遇到这种题,我会先在草稿纸上枚举前几个查找规律.用dp记录每个整数n的最大拆分乘积...原创 2018-04-29 15:07:33 · 600 阅读 · 0 评论 -
219. 存在重复元素 II(leetcode/C++)
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: [1,2,3,1], k = 3输出: true示例 2:输入: [1,0,1,1], k = 1输出: true示例 3:输入: [1,2,1], k = 0输出: false一道easy题,不难,主要是考察...原创 2018-05-13 18:51:36 · 969 阅读 · 0 评论 -
108. 将有序数组转换为二叉搜索树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5以前做...原创 2018-05-13 18:46:47 · 724 阅读 · 0 评论 -
235. 二叉搜索树的最近公共祖先(leetcode/C++)
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为: “对于有根树T的两个结点u、v,最近公共祖先表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。”(一个节点也可以是它自己的祖先)例如,给定二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5] _______6______ / ...原创 2018-05-12 20:56:55 · 970 阅读 · 0 评论 -
112. 路径总和(leetcode/C++)
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / ...原创 2018-05-12 17:24:52 · 535 阅读 · 0 评论 -
113. 路径总和 II(leetcode C++)
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ ...原创 2018-05-12 17:20:24 · 389 阅读 · 0 评论 -
215. 数组中的第K个最大元素(leetcode)
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4遇到这种求第k大或者第k小的问题,一般直接想到的就是排序后,按下标取值。但是,直接用冒泡排序肯定是不行的,显得太没有技...原创 2018-06-14 09:09:14 · 1460 阅读 · 0 评论