LeetCode
文章平均质量分 93
曾经去过跨越一个小时的地方
无心插柳柳成荫才是美丽,有哪种美好会来自于刻意。这一生波澜壮阔或是不惊都没问题,只愿你能够拥抱那种美丽。
展开
-
LeetCode之路:108. Convert Sorted Array to Binary Search Tree
LeetCode之路:108. Convert Sorted Array to Binary Search Tree一、引言真是很久很久没有刷 LeetCode 了呢!自从掉入了 Cef3 的坑之后,又加上期间看完了 《COM技术内幕》之后,又看了点《C++语言的设计和演化》,仿佛都将刷 LeetCode 这件事甩到脑后去了。虽然看书能够很好的提升自己,但是刷题也不失为一种雅兴。不得不说,这道题还是挺有趣的原创 2017-09-08 15:52:38 · 1871 阅读 · 2 评论 -
LeetCode之路:237. Delete Node in a Linked List
LeetCode之路:237. Delete Node in a Linked List一、引言这道题 哈哈哈 这是我做完了之后看到最高票答案的标题,顿时觉得有些滑稽:)那么接下来就让我们看看这道 Stupid Question: Write a function to delete a node (except the tail) in a singly linked list,原创 2017-06-03 11:03:27 · 526 阅读 · 0 评论 -
LeetCode之路:387. First Unique Character in a String
LeetCode之路:387. First Unique Character in a String一、引言这道题题意非常简单,却让我思考了很久,或许难的并不是这道题,是纠结于解题思路的那种困扰吧。这里是这道题: Given a string, find the first non-repeating character in it and return it’s index. If it原创 2017-06-02 16:11:16 · 1893 阅读 · 0 评论 -
LeetCode之路:13. Roman to Integer
LeetCode之路:13. Roman to Integer一、引言这道题挺有意思的,让我学到了罗马数字的表示规则。先来看看题吧: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999.题目信息少得令人震惊,简单翻译下吧:原创 2017-06-16 19:08:29 · 762 阅读 · 0 评论 -
LeetCode之路:169. Majority Element
LeetCode之路:169. Majority Element一、引言这道题做出来还是比较简单的,方法非常多,甚至于 C++ 最高票答案贴出来了 6 种方法供读者慢慢研究。不过这篇博客不对 C++ 最高票答案进行详细分析,而是对最高票答案 (Java)进行分析,因为确实是一个非常烧脑的一个解题方法。话不多说,直接看题吧:原创 2017-06-05 18:28:25 · 765 阅读 · 0 评论 -
LeetCode之路:100. Same Tree
LeetCode之路:100. Same Tree一、引言这道题其实还算比较简单,主要考察的是对于二叉树的理解,就像我之前“大胆”总结的: 使用递归能解决 80% 的二叉树问题仿佛这道题也没有超过这个范畴。先来看看这道题吧: Given two binary trees, write a function to check if they are equal or not.原创 2017-06-05 16:28:56 · 519 阅读 · 0 评论 -
LeetCode之路:171. Excel Sheet Column Number
LeetCode之路:171. Excel Sheet Column Number一、引言这道题相对来说比较简单,但是背后涉及到的东西确实挺有意思的: 我才知道 Excel 的列的表示是用的类似于二十六进制表示法来表示的每做一题,总会有或多或少的收获,或是技术上的,或是经验上的。嗯,还是直接看题吧: Given a column tilte as appear in an Excel sheet原创 2017-05-31 16:08:13 · 688 阅读 · 0 评论 -
LeetCode之路:500. Relative Ranks
LeetCode之路:500. Relative Ranks一、引言这道题相对来说比较简单,题目含义也比较容易弄懂。但是这道题容易理解错题意,相信这也是为什么这道题的 Acceptance (通过率)才 47% 的原因。先来看看题目吧: Given sc原创 2017-05-19 20:13:09 · 994 阅读 · 0 评论 -
LeetCode之路:455. Assign Cookies
LeetCode之路:455. Assign Cookies一、引言这是一道非常非常有趣的题目,有趣到我睡前看到了这道题,拼着明天上班没精神的后果都要撑着把这篇博客写完。那么这道题究竟哪里有趣了呢?同样是一道题意简单、做出来也简单,甚至于最高票答案的思路都是跟我们的思路一样一样的题目;看似轻松平常,但是最高票答案却用了一般人想不到的方式来完成这个问题,这就让人有些感叹不已了。原创 2017-05-19 01:22:43 · 802 阅读 · 0 评论 -
LeetCode之路:530. Minimum Absolute Difference in BST
LeetCode之路:530. Minimum Absolute Difference in BST一、引言最近工作较忙,加上更换工作主力电脑(嘿嘿终于用上了 ThinkPad),稍微耽误了 LeetCode 的刷题进度,不过没关系,只要人在、题在,进度就一直会在。这是一道有关二叉搜索树的题目,我们先来看看题目,再来解释相关概念:原创 2017-05-18 15:59:44 · 1291 阅读 · 0 评论 -
LeetCode之路:371. Sum of Two Integers
LeetCode之路:371. Sum of Two Integers一、引言这道题非常小巧,题干非常简洁: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. Example: Given a = 1 and b = 2, return 3.原创 2017-04-26 18:14:39 · 566 阅读 · 0 评论 -
LeetCode之路:242. Valid Anagram
LeetCode之路:242. Valid Anagram一、引言来,跟我一起读: anagram [‘ænə’græm] n. 回文构词法希望这个单词的含义能够深入每一个读了这篇博客的人的心里:)弄懂了这个单词的含义,这道题也就懂了 80% 了。接下来看看这道题: Given two strings s and t, write a function to原创 2017-06-07 19:39:53 · 1111 阅读 · 0 评论 -
LeetCode之路:504. Base 7
LeetCode之路:504. Base 7一、引言这道题的标题已经解释了一切: Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: “202” Example 2: Input: -7 Output: “-10”原创 2017-06-19 23:56:04 · 1133 阅读 · 0 评论 -
LeetCode之路:206. Reverse Linked List
LeetCode之路:206. Reverse Linked List一、引言这道题折磨了我很久呢 T_T不得不说,这道题的递归解法着实让人有些不能理解(即使亲手写出来了,仔细钻研仍然难以理解自己的代码)。先来看看题目吧: Reverse a singly linked list. Hint:原创 2017-06-20 17:17:30 · 735 阅读 · 0 评论 -
LeetCode之路:543. Diameter of Binary Tree
LeetCode之路:543. Diameter of Binary Tree一、引言这道题有点难度,以至于我琢磨了好久好久好久(此处 while、递归懵逼循环),才最终做出来 :(不过做出来之后我的心情是这样的:哈哈,既然这道题这么有趣,先让我们看看题目吧: Given a binary tree, you need to compute原创 2017-07-27 20:04:04 · 1867 阅读 · 1 评论 -
LeetCode伴侣:从零开始 LeetCode内置数据结构库的开发
一、引言刷过 LeetCode 的同学应该都知道: LeetCode 是一个在线 OJ 系统,经常会有些涉及到链表、二叉树、数组的题目,在线做题如果出现了奇怪的问题,也不能自行打断点查看哪里出了问题;想要自己本地打开 IDE 进行编译调试吧,又发现没有对应的链表、二叉树、数组这种拿来即可使用的数据结构。因此,我开始萌生了自己写一个 LeetCode 内置数据结构库的想法。中间因为种种原因,或因原创 2017-07-20 15:14:43 · 985 阅读 · 0 评论 -
LeetCode之路:551. Student Attendance Record I
LeetCode之路:551. Student Attendance Record I一、引言这道题还是比较简单的,就当惬意陶冶情操了吧 ^_^看下题目: You are given a string representing an attendance record for a student. The record only contains the following three原创 2017-07-06 17:52:21 · 950 阅读 · 0 评论 -
LeetCode之路:541. Reverse String II
LeetCode之路:541. Reverse String II一、引言提到 Rerverse,你就要想起来 C++ 的逆置元操作:std::reverse这个函数的作用,是将指定容器的指定范围内的元素进行逆置处理。而这道题就将用到这最基本的逆置元操作。先看看题目吧:Given a string and an integer k, you need to reverse the原创 2017-07-06 17:02:01 · 810 阅读 · 0 评论 -
LeetCode之路:268. Missing Number
LeetCode之路:268. Missing Number一、引言这是一道非常简单的题目,我们做这道题的目的只有一个:尽量用更多的方法做出这道题:)先看看题目吧:Given an array containing n distinct numbers taken form 0, 1, 2, ..., n , find the one that is missing from the array.原创 2017-07-06 11:29:40 · 713 阅读 · 0 评论 -
LeetCode之路:350. Intersection of Two Arrays II
LeetCode之路:350. Intersection of Two Arrays II一、引言这道题还是挺有趣的,如何求两个数组的交集,简单的问题各种方法的思考。看看题目吧:Given two arrays, write a function to compute their intersection.Example: Given nums1 = [1, 2, 2, 1], nums2 = [2, 2]原创 2017-07-05 12:38:26 · 688 阅读 · 0 评论 -
LeetCode之路:217. Contains Duplicate
LeetCode之路:217. Contains Duplicate一、引言来,跟我读: duplicate [ˈdu:plɪkeɪt] n.副本;完全一样的东西 ;复制品做完这道题,一定要记住这个单词的含义。就这道题而言,其实还是非常简单的,先让我们看看这道题: Given an array of integers, find if the array contains any原创 2017-06-13 19:57:58 · 579 阅读 · 0 评论 -
LeetCode之路:447. Number of Boomerangs
LeetCode之路:447. Number of Boomerangs一、引言这道题还算比较有意思。先看看题目吧: Given n points in the plane that are all pairwise distinct, a “boomerang” is a tuple of points (i, j, k) such that the distance between原创 2017-07-04 13:03:30 · 709 阅读 · 0 评论 -
LeetCode之路:401. Binary Watch
LeetCode之路:401. Binary Watch一、引言这道题思路一旦走岔了,就要绕好几个杭州才能回来 T_T 比如说我。另外,这道题也是讨论区中最多逗比的一道题。哈哈,有关这道题的逗比言论,我最后给你们截图哈 ^_^这里还是言归正传,首先,还是看看题目信息: A binary watch has 4 LEDs on the top which represe原创 2017-07-03 17:31:09 · 1692 阅读 · 0 评论 -
LeetCode之路:409. Longest Palindrome
LeetCode之路:409. Longest Palindrome一、引言这是一道好题!为什么这么说,这道题分析出来思路或许就花了我 15 分钟;写出第一个版本的代码花了将近 10 分钟;之后优化代码更是花了我很久很久的时间,中间还间隔着吃晚饭的时间,大概能有个一个小时;最后的最后,我写出了自认为最优的代码,却还是被最高票答案所折服(做了这么久可能还是自己水平不够吧,尽管如此原创 2017-06-08 20:55:34 · 698 阅读 · 0 评论 -
LeetCode之路:258. Add Digits
LeetCode之路:258. Add Digits一、引言这是一道比较难的题,之所以下这个定义,是因为要做出来这道题的正确答案,需要一点点数学知识。当然,能看到这篇博客的人,大部分都是程序员,那么作为程序员,我们自然有自己的方法来实现它,这样看来,这道题其实也不算太难。直接上题目信息吧: Given a non-negative integer num, repeatedly add all its原创 2017-05-08 23:57:59 · 739 阅读 · 0 评论 -
LeetCode之路:389. Find the Difference
LeetCode之路:389. Find the Difference一、引言最近几天工作很忙,好不容易闲下来了,来看看这道“惬意”的小题: Given two strings s and t which consist of only lowercase letters.原创 2017-04-26 00:02:34 · 374 阅读 · 0 评论 -
LeetCode之路:122. Best Time to Buy and Sell Stock II
LeetCode之路:122. Best Time to Buy and Sell Stock II一、引言这是一道非常有趣的题目! 这是一道非常有趣的题目!! 这是一道非常有趣的题目!!!重要的事情先说三遍 : )好了,接下来让我们看看这道题: Say you have an array for which the i^th element is the price of a given stock on原创 2017-05-26 19:26:01 · 1151 阅读 · 0 评论 -
LeetCode之路:292. Nim Game
LeetCode之路:292. Nim Game一、引言这是一道非常有趣的题目,有着非常简单的规则,却让我一直没有思考出来,甚至在思考这个问题的同时,还引申到了另一道题上面:台阶问题:斐波那契数列的扩展问题研究,有兴趣了解下的同学可以看看这里。关于这道题,其实这是一个非常出名的游戏,有着不同的版本,LeetCode上面的这个题目是简化的版本。这里直接把原题目粘贴过来:原创 2017-04-17 22:41:51 · 387 阅读 · 0 评论 -
LeetCode之路:485. Max Consecutive Ones
LeetCode之路:485. Max Consecutive Ones一、引言这是一道比较,怎么说呢,看一眼题目就知道肯定能做出来的题,关键就是怎么编写代码简洁快捷了。这里贴上题目描述: Given a binary array, find the maximum number of consecutive 1s in this array.原创 2017-04-17 23:54:11 · 628 阅读 · 0 评论 -
LeetCode之路:136. Single Number
LeetCode之路:136. Single Number一、引言这是一道非常非常有趣,题目要求非常非常简单,做出来也非常非常容易,但是最优解却非常非常令人无奈的一道题: Given an array of integers, every element appears twice except for one. Find that single one.原创 2017-04-18 15:27:06 · 345 阅读 · 0 评论 -
LeetCode之路:520. Detect Capital
LeetCode之路:520. Detect Capital一、引言这道题有关于处理字符的大小写问题,对于熟悉字符的大小写处理函数非常有帮助。这里粘出题目信息: Given a word, you need to judge whether the usage of capitals in it is right or not.原创 2017-04-18 17:52:31 · 914 阅读 · 0 评论 -
LeetCode之路:476. Nubmer Complement
LeetCode之路:476. Nubmer Complement一、引言这道题比较简单,就是求最大32位的整型数的补数。想要看 LeetCode 上这道题详细描述的可以点击这里Number Complement。二、我的方法看到了这道题,我陷入了深深的沉思。 首先,位处理的方法很简单,就是不停地 /= 2 和 % 2,这里就不做太多的赘述了。 其次,如果按照上述的方法来做呢,是不是太复杂了,需要一个循环来遍历。原创 2017-04-10 14:30:57 · 462 阅读 · 0 评论 -
(翻译整理)如何简单、高效地使用位操作解决问题
一、引言这是我翻译自 A summary: how to use bit manipulation to solve problems ealily and efficiently 的译文。这篇笔记整理是 LeetCode 第 371 题的讨论区最高票答案,其中整理了有关如何简单、高效地使用位操作来解决问题的方法。其中文章开篇,先将基础的常见的位操作使用方法梳理了一遍,然后晓之以具体事例来进行讲解,翻译 2017-04-28 17:45:13 · 1505 阅读 · 0 评论 -
LeetCode之路:563. Binary Tree Tilt
LeetCode之路:563. Binary Tree Tilt一、引言做这道题一定不能忘的一点: tilt 是倾斜度的意思(T_T鄙人英语战五渣,LeetCode 读题靠百度翻译,有本事来咬我啊)好了,进入正题,这是一道非常有趣的题目,让我们来看看题目信息: Given a binary tree, return the tilt of the whole tree.原创 2017-05-12 12:34:09 · 1223 阅读 · 0 评论 -
LeetCode:492. Construct the Rectangle
LeetCode:492. Construct the Rectangle一、引言这是一道比较简单的题目,尽管题目信息比较多,这里附上题目信息: For a web developer, it is very important to know how to design a web page’s size. So, given a specific rectangular web page’原创 2017-05-11 22:54:35 · 730 阅读 · 0 评论 -
LeetCode之路:283. Move Zeroes
LeetCode之路:283. Move Zeroes一、引言一看到这道题,我就想起了曾经在西安一家公司面试的时候,一位面试官问我的一道题: 在一个数组中,零散的分布了一些正整数和 0,你可以写个方法把所有的 0 都移动到数组的最后边吗?题目要求很简单,完成这道题的思路也有很多,当时脑海里冒出的第一个念头就是: 排序嘿嘿,就是这么“懒”(使用std::sort方法就可以了),但是面试官不满意,让原创 2017-05-11 18:15:47 · 902 阅读 · 3 评论 -
LeetCode之路:226. Invert Binary Tree
LeetCode之路:226. Invert Binary Tree一、引言这道题的 Trivia 栏目下的信息还是挺有意思的: Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.这句话的原创 2017-05-02 18:28:56 · 570 阅读 · 0 评论 -
LeetCode之路:463. Island Perimeter
LeetCode之路:463. Island Perimeter一、引言这道题的题目信息请点击这里查看Island Perimeter。其实我一看到这道题,我就想到了我之前做过的一个五子棋的项目。关于这个项目我还写了一篇博客,可以点击这里查看一个使用纯Win32 SDK和C语言实现的五子棋游戏。这里让我们想想,五子棋的判胜逻辑。五子棋五子棋,顾名思义,就是五个同色的棋子连接成了一条线,则判定胜利。原创 2017-04-11 18:25:54 · 782 阅读 · 0 评论 -
LeetCode之路:496. Next Greater Element I
LeetCode之路:496. Next Greater 一、引言现在习惯了,不管在 LeetCode 上面做了什么题,都喜欢点开 Discuss 栏目查看其他人写的优美代码的习惯,而且往往(从未不是过)别人的代码总是要比我的代码优美了不止一个境界。对,没错,这道看似简单的题目也是这样。想要了解这道题的同学可以点击这里Next Greater Element I让我们来好好研究下,别人的代码是怎么比我们的代码优美的原创 2017-04-11 11:17:46 · 517 阅读 · 0 评论 -
LeetCode之路:344. Reverse String
LeetCode之路:344. Reverse String一、引言把所给字符串反转,查看题目详细信息请点击这里Reverse String。二、讨论各个方法反转字符串,简直就是送分题,因为我们的 stl 有一个 std::reverse 方法呀!class Solution {public:原创 2017-04-10 18:56:33 · 485 阅读 · 0 评论