- 博客(559)
- 资源 (19)
- 收藏
- 关注
原创 LeetCode 204 Count Primes(质数计数)(*)
翻译计算小于一个非负整数n的质数的个数。原文Count the number of prime numbers less than a non-negative number, n.分析这道题以前遇到过,当时是用的最笨的办法,现在也没什么好想法,又恰好题目有提示,我就点开了。题目的提示是一条一条给出来的,我也就逐个的全点开了,感觉好失败……public int countPrimes(int n)
2016-02-01 11:25:24 7886 4
原创 LeetCode 278 First Bad Version(第一个坏版本)(二分法)(*)
翻译你是一个产品经理,目前正在带领团队去开发一个新产品。不幸的是,产品的上一个版本没有通过质量检测。因为每个版本都是建立在前一个版本基础上开发的,所以坏版本之后的版本也都是坏的。假设你有n个版本[1,2,...,n],并且你想找出造成后面所有版本都变坏的第一个坏版本。给你一个API——bool isBadVersion(version),它能够确定一个版本是否是坏的。实现一个函数去找出第一个坏版本。
2016-01-30 16:12:52 2758 2
原创 LeetCode 290 Word Pattern(单词模式)(istringstream、vector、map)(*)
翻译给定一个模式,和一个字符串str,返回str是否符合相同的模式。这里的符合意味着完全的匹配,所以这是一个一对多的映射,在pattern中是一个字母,在str中是一个为空的单词。例如:pattern = "abba", str = "dog cat cat dog" 应该返回真。pattern = "abba", str = "dog cat cat fish" 应该返回假。pattern
2016-01-30 15:43:30 2631
原创 LeetCode 303 Range Sum Query - Immutable(范围总和查询-永久不变)(*)
翻译给定一个整型数组nums,找出在索引i到j(i小于等于j)之间(包括i和j)的所有元素之和。例如:给定nums = [-2,0,3,-5,2,-1]sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3批注:你可以假定这个数组不会改变。这里会有很多次对sumRange函数的调用。原文Given an integer arr
2016-01-30 15:05:51 4539
原创 LeetCode 205 Isomorphic Strings(同构的字符串)(string、vector、map)(*)
翻译给定两个字符串s和t,决定它们是否是同构的。如果s中的元素被替换可以得到t,那么称这两个字符串是同构的。在用一个字符串的元素替换另一个字符串的元素的过程中,所有字符的顺序必须保留。没有两个字符可以被映射到相同的字符,但字符可以映射到该字符本身。例如,给定“egg”,“add”,返回真。给定“foo”,“bar”,返回假。给定“paper”,“title”,返回真。批注:你可以假设s和t
2016-01-30 14:16:54 3898
原创 LeetCode 228 Summary Ranges(值域)(*)
翻译给定一个无重复的已排序整型数组,返回其中范围的集合。例如 ,给定[0,1,2,4,5,7],返回["0->2","4-5","7"]。原文Given a sorted integer array without duplicates, return the summary of its ranges.For example, given [0,1,2,4,5,7], return ["0->2
2016-01-30 13:42:09 2140
原创 LeetCode 155 Min Stack(最小栈)
翻译设计支持push、pop、top和在常量时间内检索最小元素的栈。push(x) —— 推送元素X进栈pop() —— 移除栈顶元素top() —— 得到栈顶元素getMin() —— 检索栈的最小元素原文Design a stack that supports push, pop, top, and retrieving the minimum element in constant ti
2016-01-30 10:50:43 7094
原创 LeetCode 189 Rotate Array(旋转数组)
翻译通过K步将一个有着n个元素的数组旋转到右侧。例如,给定n = 7和k = 3,数组[1,2,3,4,5,6,7]会被旋转成[5,6,7,1,2,3,4]。批注:尽你可能尝试多种解决方案,这里至少存在3种不同的方式去解决这个问题。原文Rotate an array of n elements to the right by k steps.For example, with n = 7 and
2016-01-28 15:10:54 1695
原创 LeetCode 189 Rotate Array(旋转数组)
翻译通过K步将一个有着n个元素的数组旋转到右侧。例如,给定n = 7和k = 3,数组[1,2,3,4,5,6,7]会被旋转成[5,6,7,1,2,3,4]。批注:尽你可能尝试多种解决方案,这里至少存在3种不同的方式去解决这个问题。原文Rotate an array of n elements to the right by k steps.For example, with n = 7 and
2016-01-28 15:10:38 4246
原创 LeetCode 165 Compare Version Numbers(比较版本号)(string)(*)
翻译比较两个版本号version1和version2。如果version1大于version2返回1,如果version1小于version2返回-1,否则返回0。你可以假设版本号字符串是非空并且只包含数字和“.”字符。“.”字符不代表十进制中的点,而被用作分隔数字序列。例如,2.5不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。这里有一个版本号排序的示例:0.1 < 1.
2016-01-28 10:03:11 4369
原创 LeetCode 203 Remove Linked List Elements(移除链表元素)(Linked List)(*)
翻译从一个链表中移除所有值为val的元素。例如给定:1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6返回:1 --> 2 --> 3 --> 4 --> 5原文Remove all elements from a linked list of integers that have value val.ExampleGiven: 1 --> 2 -->
2016-01-28 08:58:04 2734
原创 LeetCode 223 Rectangle Area(矩形面积)
翻译找到在二维平面中两个相交矩形的总面积。每个矩形都定义了其左下角和右上角的坐标。(矩形如下图)假设,总占地面积永远不会超过int的最大值。原文分析这题前天试过,写了一堆判断,终究还是无果……贴几个别人的解决方案……int computeArea(int A, int B, int C, int D, int E, int F, int G, int H){ int64_t xmin1 =
2016-01-27 12:17:28 3239
原创 LeetCode 219 Contains Duplicate II(包含重复数字2)(*)
翻译给定一个整型数组和一个整型数K,原文Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the difference between i and j is a
2016-01-27 11:46:23 3891
原创 LeetCode 58 Length of Last Word(最后单词的长度)
翻译给定一个包含大小写字母和空格字符的字符串,返回该字符串中最后一个单词的长度。如果最后一个单词不存在,返回0。批注:一个单词被定义为包含非空字符的字符序列。例如,给定 S = "Hello World",返回 5。原文Given a string s consists of upper/lower-case alphabets and empty space characters ' ',
2016-01-27 11:21:27 2288
原创 LeetCode 88 Merge Sorted Array(合并排序数组)(*)
翻译给定两个排序的整型数组nums1和nums2,将nums2合并到nums1成一个排序数组。批注:你可以假设nums1中有足够的空间(空间大于或等于m+n)来存放来自nums2的额外元素。nums1和nums2的初始空间分别是m和n。原文Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one
2016-01-24 12:06:18 5711
原创 LeetCode 111 Minimum Depth of Binary Tree(二叉树的最短深度)(BT、DFS)(*)
翻译给定一个二叉树,找出它的最短深度。最短深度是指从节点到最近的叶节点的最短距离。原文Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
2016-01-24 10:34:17 4794 2
原创 LeetCode 160 Intersection of Two Linked Lists(链表相交)(Linked List)(*)
翻译写一个程序来找出两个单链表相交的开始处。例如,如下有两个链表:在节点c1处开始相交。批注:如果两个链表根本没有相交,返回NULL。在函数返回后链表必须保留原有的数据结构。你可以假设在整个链结构中没有循环。你的代码最后可以在O(n)时间和O(1)空间运行。原文Write a program to find the node at which the intersection of two
2016-01-24 09:26:28 7875
原创 LeetCode 112 Path Sum(路径和)(BT、DP)(*)
翻译给定一个二叉树root和一个和sum,决定这个树是否存在一条从根到叶子的路径使得沿路所有节点的和等于给定的sum。例如:给定如下二叉树和sum=22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7
2016-01-23 11:10:15 3093
原创 LeetCode 172 Factorial Trailing Zeroes(阶乘后的零)(*)
翻译给定一个整型n,返回n!后面的零的个数。注意:你的解决方案应该在log时间复杂度内。原文Given an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.分析起初我看题目的时候没太注意,还以为就是求n这个数后面的零而
2016-01-23 10:24:36 2957
原创 LeetCode 119 Pascal's Triangle II(帕斯卡三角形II)(vector、数学公式)(*)
翻译给定一个索引K,返回帕斯卡三角形的第K行。例如,给定K=3,返回[1,3,3,1]。注释:你可以改进你的算法只用O(k)的额外空间吗?原文Given an index k, return the kth row of the Pascal's triangle.For example, given k = 3,Return [1,3,3,1].Note:Could you optimiz
2016-01-23 10:11:19 4967
原创 LeetCode 118 Pascal's Triangle(帕斯卡三角形)(vector)
翻译给定一个行数字,生成它的帕斯卡三角形。例如,给定numRows = 5,返回:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]原文Given numRows, generate the first numRows of Pascal's triangle.For example, given numRows = 5,
2016-01-23 09:28:11 3877
原创 LeetCode 66 Plus One(加一)(vector)
翻译给定一个以一系列数字表示的非负数,将其加一并转换成数字。数字存储的最高位在列的最前面。原文Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the
2016-01-22 21:47:33 2664 1
原创 LeetCode 198 House Robber(强盗盗窃最大值)(动态规划)(*)
翻译你是一个专业强盗,并计划沿街去盗窃每一个住户。每个房子都有一定量的现金,阻止你盗窃的唯一阻碍是相邻的两个房子之间有安全系统。一旦这两个房子同时被盗窃,系统就会自动联系警察。给定一系列非负整数代表每个房子的金钱,求出再不惊动警察的情况下能盗窃到的最大值。原文You are a professional robber planning to rob houses along a street. Ea
2016-01-22 11:09:45 3511
原创 LeetCode 102 Binary Tree Level Order Traversal(二叉树的层级顺序遍历)(*)
翻译给定一个二叉树,返回按层级顺序遍历的每个节点的值。从左到右,逐层遍历。例如:给定一个二叉树 {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7返回它的层级顺序遍历结果为:[ [3], [9,20], [15,7]]翻译Given a binary tree, return the level order tra
2016-01-22 10:30:27 2566
原创 LeetCode 107 Binary Tree Level Order Traversal II(二叉树的层级顺序遍历2)(*)
翻译给定一个二叉树,返回从下往上遍历经过的每个节点的值。从左往右,从叶子到节点。例如:给定的二叉树是 {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7返回它从下往上的遍历结果:[ [15,7], [9,20], [3]]原文Given a binary tree, return the bottom-up lev
2016-01-22 10:03:04 3597
原创 LeetCode 101 Symmetric Tree(对称树)(*)
翻译给定一个二叉树,检查它是否是它本身的镜像(也就是说,中心对称)。例如,这个二叉树是对称的: 1 / \ 2 2 / \ / \3 4 4 3但是下面这个却不是: 1 / \ 2 2 \ \ 3 3批注:如果你能同时用递归和迭代来解决这个问题,这会是加分项。原文Given a binary tree, check whet
2016-01-21 14:04:11 1983
原创 LeetCode 110 Balanced Binary Tree(平衡二叉树)(*)
翻译给定一个二叉树,决定它是否是高度平衡的。(高度是名词不是形容词……对于这个问题,一个高度平衡二叉树被定义为:这棵树的每个节点的两个子树的深度差不能超过1。原文Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a
2016-01-21 11:46:53 4061 2
原创 LeetCode 225 Implement Stack using Queues(用队列来实现栈)(*)
翻译用队列来实现栈的如下操作。push(x) —— 将元素x添加进栈pop() —— 从栈顶移除元素top() —— 返回栈顶元素empty() —— 返回栈是否为空注意:你必须使用一个只有标准操作的队列。也就是说,只有push/pop/size/empty等操作是有效的。队列可能不被原生支持,这取决于你所用的语言。只要你只是用queue的标准操作,你可以用list或者deque(double
2016-01-20 21:28:09 4015
原创 LeetCode 232 Implement Queue using Stacks(用栈来实现队列)(*)
翻译用栈来实现队列的下列操作。push(x) —— 将元素x写入到队列的尾部pop() —— 从队列首部移除元素peek() —— 返回队列首部元素empty() —— 返回队列是否为空注意:你必须使用一个只有标准操作的栈。也就是说,只有push/pop/size/empty等操作是有效的。栈可能不被原生支持,这取决于你所用的语言。只要你只是用stack的标准操作,你可以用list或者dequ
2016-01-20 21:18:14 3478
原创 LeetCode 231 Power of Two(2的幂)
翻译给定一个整型数,写一个函数来决定它是否是2的幂。原文Given an integer, write a function to determine if it is a power of two.分析详情请看这篇文章:LeetCode 326 Power of Three(3的幂)(递归、Log函数) 看题号,326是本题的加强版,326是要求不能用循环或递归的……大家可以去看看上面那篇文章。本
2016-01-19 11:03:30 2393
原创 LeetCode 202 Happy Number(开心数)(vector、unordered_set)
翻译写一个算法来决定一个数是否是“开心”的。开心数是被如下步骤所定义的数:从所有正整数开始,用其每个数字的平方和来替代这个数,不断重复这个过程直到最后的结果为1(此时它就停止了),或者它在一个不包含1的周期内无限循环。这些在这个过程中以1结尾的数就是开心数。例如:19是开心数。12+92=821^2 + 9^2 = 82 82+22=688^2 + 2^2 = 68 62+82=1006^2 +
2016-01-19 10:51:00 2690
原创 LeetCode 326 Power of Three(3的幂)(递归、Log函数)
翻译给定一个整型数,写一个函数决定它是否是3的幂(翻译可能不太合适……跟进:你是否可以不用任何循环或递归来完成。原文Given an integer, write a function to determine if it is a power of three.Follow up:Could you do it without using any loop / recursion?分析题意我其
2016-01-19 09:50:17 6495
原创 LeetCode 263 Ugly Number(丑数)
翻译写一个程序来检查给定的数字是否是丑数(Ugly number)。丑数是一个正数,它的质因子只包括2、3、5。例如,6、8是丑数,而因为包含了7这个因子,所以14不是丑数。请注意,1通常被视为一个丑数。原文Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbe
2016-01-18 13:24:00 2893
原创 LeetCode 328 Odd Even Linked List(奇偶链表)(Linked List)(*)
翻译给定一个单链表,将所有的奇节点归为一组,偶节点紧随其后。请注意我们现在谈的是奇节点而不是节点上的值。你应该尝试就地完成。程序应该在O(1)空间复杂度和O(nodes)时间复杂度下完成。例如:给定 1->2->3->4->5->NULL,返回 1->3->5->2->4->NULL。注释:最后归类出来的奇节点和偶节点的相对位置应该和输入时一致。第一个节点为奇节点,第二个节点为偶节点,以此类推
2016-01-18 12:49:12 5928
原创 社区之星礼品开箱——感谢CSDN
前言虽然已经看过国内外无数的开箱、评测视频,也看过无数国内社区的各种玩具、电子产品、摄影的分享贴,自己却从未写过——摄影水平有限以及懒……昨天看到上图的文章,看到最后都说了应该晒晒照片、写写博客,那我就试着写一次,水平有限请轻拍……更前言前年看到一位CSDN博主(浅墨毛星云),当时看完了他的OpenCV系列,被深深的影响了。同样也是学生,却如此厉害,博客都能上万字,于是也开始督促自己开始写博客。虽然
2016-01-15 14:29:01 22512 14
原创 LeetCode 83 Remove Duplicates from Sorted List(从已排序链表中移除重复元素)(Linked List)(*)
翻译给定一个已排序链表,删除所有重复元素让每个元素只出现一次。例如:给定 1->1->2, 返回 1->2。给定 1->1->2->3->3, 返回 1->2->3。原文Given a sorted linked list, delete all duplicates such that each element appear only once.For example,Given 1->1-
2016-01-14 08:31:18 3052
原创 LeetCode 70 Climbing Stairs(爬楼梯)(动态规划)(*)
翻译你正在爬一个楼梯。它需要n步才能到底顶部。每次你可以爬1步或者2两步。那么你有多少种不同的方法爬到顶部呢?原文You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can y
2016-01-14 07:12:13 6704 2
原创 LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)
翻译反转一个单链表。原文Reverse a singly linked list.分析我在草纸上以1,2,3,41,2,3,4为例,将这个链表的转换过程先用描绘了出来(当然了,自己画的肯定不如博客上面精致):有了这个图,那么代码也就自然而然的出来了:ListNode* reverseList(ListNode* head) { ListNode* newHead = NULL; wh
2016-01-14 06:22:19 6088 1
原创 LeetCode 191 Number of 1 Bits(1 比特的数字们)
翻译写一个函数获取一个无符号整型数,并且返回它的“1”比特的数目(也被叫做Hamming weight)。例如,一个32位整型数“11”,转换成二进制是00000000000000000000000000001011,所以这个函数应该返回3。原文Write a function that takes an unsigned integer and returns the number of ’1'
2016-01-12 19:59:04 2253
原创 LeetCode 235 Lowest Common Ancestor of a Binary Search Tree(二叉搜索树的最小公共祖先)
翻译给定一个二叉搜索树(BST),找出两个给定节点的最小公共祖先(LCA)。根据维基百科对于LCA的定义:“最小公共祖先的定义是对于两个节点v和s有一个最小的节点T,以至于v和s都是T的后代(其中我们允许节点是自身的后代)。” _______6______ / \ ___2__ ___8__ / \
2016-01-12 19:21:18 2741
flux小工具
2015-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人