编程之美
文章平均质量分 70
白熊花田
这个作者很懒,什么都没留下…
展开
-
LeetCode----Generate Parentheses
Generate ParenthesesGiven n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:"((()))", "(()())原创 2015-11-10 15:59:44 · 1287 阅读 · 0 评论 -
LeetCode----Gray Code
Gray CodeThe gray code is a binary numeral system where two successive values differ in only one bit.Given a non-negative integer n representing the total number of bits in the code, print原创 2015-10-14 16:11:12 · 520 阅读 · 0 评论 -
LeetCode----Sort List
Sort ListSort a linked list in O(n log n) time using constant space complexity.分析:给链表排序,要求O(nlogn)的时间,O(1)的空间。链表不是数组,给它排序不能像数组一样可以通过各种下标操作。能够想到的方法也就是(1)通过新建一个有序链表,每次从原来链表中选择一个元素到新的有序原创 2015-11-14 15:42:18 · 552 阅读 · 0 评论 -
LeetCode----Insertion Sort List
Insertion Sort ListSort a linked list using insertion sort.原题链接为:https://leetcode.com/problems/insertion-sort-list分析:使用插入排序对链表进行排序。可以新建一个带头节点的有序链表,每次从原链表中选择一个节点,插入到带头节点的链表中。C++代码:...原创 2015-11-14 17:16:52 · 610 阅读 · 0 评论 -
LeetCode----Binary Tree Preorder Traversal
Binary Tree Preorder TraversalGiven a binary tree, return the preorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3ret原创 2015-10-29 20:54:08 · 539 阅读 · 0 评论 -
LeetCode----Implement Queue using Stacks
Implement Queue using StacksImplement the following operations of a queue using stacks.push(x) -- Push element x to the back of queue.pop() -- Removes the element from in front of queue.pe原创 2015-10-29 21:15:19 · 588 阅读 · 0 评论 -
LeetCode----Binary Search Tree Iterator
Binary Search Tree IteratorImplement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST.Calling next() will return the next smallest原创 2015-10-29 23:30:32 · 602 阅读 · 0 评论 -
LeetCode----Single NumberII
Single Number IIGiven an array of integers, every element appears three times except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you原创 2015-10-15 11:08:58 · 515 阅读 · 0 评论 -
LeetCode----Binary Tree Postorder Traversal
Binary Tree Postorder TraversalGiven a binary tree, return the postorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3r原创 2015-10-30 12:04:04 · 619 阅读 · 0 评论 -
LeetCode----Add and Search Word - Data structure design
Binary Tree Right Side ViewGiven a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.For example:Given原创 2015-10-30 18:02:16 · 630 阅读 · 0 评论 -
LeetCode----Combination Sum II
Combination Sum IIGiven a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.Each number in C may only b原创 2015-10-10 17:55:54 · 525 阅读 · 0 评论 -
LeetCode----Longest Valid Parentheses
Longest Valid ParenthesesGiven a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest va原创 2015-09-24 20:08:02 · 566 阅读 · 0 评论 -
LeetCode----Power of Two
Power of TwoGiven an integer, write a function to determine if it is a power of two.Credits:Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.原创 2015-10-14 16:56:49 · 563 阅读 · 0 评论 -
LeetCode----Happy Number
Happy NumberWrite an algorithm to determine if a number is "happy".A happy number is a number defined by the following process: Starting with any positive integer, replace the number by th原创 2015-11-11 10:21:52 · 647 阅读 · 0 评论 -
数组循环移位
数组循环移位要求:设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂段为O(N),且只允许使用两个附加变量。分析:在翻阅《编程之美》时看到了这道题,虽然书上已经给了一个完善简便的解法,但是自己却想到了一个时间O(n)空间O(1)的算法。这里先给出书中的算法,再给出我的算法。书中使用的是三次逆序操作。比如要对“abcd1234”右移4位,可以:(1)逆序原创 2015-09-22 10:51:34 · 704 阅读 · 0 评论 -
LeetCode----Subsets II
Subsets IIGiven a collection of integers that might contain duplicates, nums, return all possible subsets.Note:Elements in a subset must be in non-descending order.The solution set m原创 2015-10-11 14:24:16 · 600 阅读 · 0 评论 -
LeetCode----Permutation Sequence
Permutation SequenceThe set [1,2,3,…,n] contains a total of n! unique permutations.By listing and labeling all of the permutations in order,We get the following sequence (ie, for n = 3原创 2015-10-11 20:01:07 · 541 阅读 · 0 评论 -
LeetCode----Perfect Squares
Perfect SquaresGiven a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n.For example, given n = 12, return 3 because 12原创 2015-09-23 19:22:45 · 1126 阅读 · 0 评论 -
LeetCode----Combinations
CombinationsGiven two integers n and k, return all possible combinations of k numbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[ [2,4], [3,4], [2,3], [1,2],原创 2015-10-12 18:34:15 · 1532 阅读 · 0 评论 -
LeetCode----Single Number
Single NumberGiven an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement原创 2015-10-12 22:23:45 · 550 阅读 · 0 评论 -
LeetCode----Word Search
Word SearchGiven a 2D board and a word, find if the word exists in the grid.The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizon原创 2015-10-09 16:47:17 · 541 阅读 · 0 评论 -
LeetCode----Add Digits
Add DigitsGiven a non-negative integer num, repeatedly add all its digits until the result has only one digit. For example:Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 =原创 2015-10-12 20:32:45 · 1025 阅读 · 0 评论 -
LeetCode----Swap Nodes in Pairs
Swap Nodes in PairsGiven a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should原创 2015-10-30 22:22:18 · 611 阅读 · 0 评论 -
LeetCode----Linked List Cycle
Linked List CycleGiven a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?分析:判断一个链表是否含有环。使用弗洛伊德循环检测法。时间复杂度为O(n)。算法详解如下:原创 2015-10-31 11:26:41 · 784 阅读 · 0 评论 -
LeetCode----Partition List
Partition ListGiven a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the original relative order o原创 2015-11-01 16:29:56 · 700 阅读 · 0 评论 -
LeetCode----Reverse Linked List
Reverse Linked ListReverse a singly linked list.代码:# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next原创 2015-09-25 17:09:30 · 552 阅读 · 0 评论 -
LeetCode----Reverse Linked List II
Reverse Linked List IIReverse a linked list from position m to n. Do it in-place and in one-pass.For example:Given 1->2->3->4->5->NULL, m = 2 and n = 4,return 1->4->3->2->5->NULL.原创 2015-09-25 17:15:53 · 525 阅读 · 0 评论 -
LeetCode----Two Sum
Two SumGiven an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to原创 2015-09-25 09:00:58 · 1526 阅读 · 0 评论 -
LeetCode[Array]----3Sum
3SumGiven an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:Elements in a tr原创 2016-04-18 21:20:11 · 786 阅读 · 0 评论 -
LeetCode[Bitwise]----Bitwise AND of Numbers Range
Bitwise AND of Numbers RangeGiven a range [m, n] where 0 For example, given the range [5, 7], you should return 4.分析:给定m和n,返回m到n闭区间内所有元素位运算&后的结果。我们知道a和b进行And操作时,在a和b同时为1的时候结果才为1.原创 2016-05-02 23:40:48 · 931 阅读 · 0 评论 -
LeetCode[Array]----3Sum Closest
3Sum Closest Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each i原创 2016-04-19 10:03:10 · 836 阅读 · 0 评论 -
LeetCode[Array]---- 4Sum
4SumGiven an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.Note:原创 2016-04-19 11:28:08 · 880 阅读 · 0 评论 -
LeetCode----Search for a Range
Search for a Range Given a sorted array of integers, find the starting and ending position of a given target value.Your algorithm's runtime complexity must be in the order of O(log n).原创 2015-09-04 23:13:15 · 606 阅读 · 0 评论 -
LeetCode[Math]----Excel Sheet Column Title----Excel Sheet Column Number
Excel Sheet Column TitleGiven a positive integer, return its corresponding column title as appear in an Excel sheet.For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27原创 2016-04-22 16:28:27 · 1528 阅读 · 0 评论 -
2.1求二进制数中1的个数
2.1求二进制数中1的个数题目:对于一个字节(8bit)的无符号整型变量,求其中二进制表示中“1”的个数,要求算法的执行效率尽可能高。解法一对于二进制操作,除以一个2,原来的数字将会减少一个0。如果除的过程中有余,那么就表示当前位置有一个1。以10100010为例:第一次除以2时,商为1010001,余为0。第二次除以2时,商为101000,余为1。时间复杂度为O(原创 2015-01-15 20:28:04 · 1397 阅读 · 0 评论 -
LeetCode[Stack]----Min Stack&Stack&Queue
整理一下LeetCode上三道与栈有关的题,分别是Implement Queue using Stacks,Implement Stack using Queues和Min Stack。1.Implement Queue using StacksImplement the following operations of a queue using stacks.原创 2016-04-30 15:25:48 · 4085 阅读 · 0 评论 -
LeetCode[Math]----Pow(x, n)
Pow(x, n)Implement pow(x, n).分析:实现pow函数,注意,这里的n是int类型,比较简单,使用二分法。代码:class Solution(object): def myPow(self, x, n): """ :type x: float :type n: int原创 2015-10-23 16:00:56 · 768 阅读 · 0 评论 -
LeetCode----Word Pattern
Word PatternGiven a pattern and a string str, find if str follows the same pattern.Here follow means a full match, such that there is a bijection between a letter in pattern and a non-原创 2015-11-01 20:01:57 · 766 阅读 · 0 评论 -
LeetCode----Remove Duplicates from Sorted List II
Remove Duplicates from Sorted List IIGiven a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.For example,Given 1->2原创 2015-11-01 10:55:44 · 817 阅读 · 0 评论 -
LeetCode----Maximum Depth of Binary Tree
Maximum Depth of Binary TreeGiven a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.原创 2015-10-31 22:47:38 · 659 阅读 · 0 评论