刷题&学习
文章平均质量分 57
胸口好想碎大石
Attitude Matters
展开
-
LeetCode | #2 Add Two Numbers
题目: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it原创 2015-01-14 17:40:18 · 553 阅读 · 0 评论 -
LeetCode | # 23
题目: Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 思路: 解法一:维护一个大小为k的堆,每次去堆顶的最小元素放到结果中,然后读取该元素的下一个元素放入堆中,重新维护好。因为每个链表是有序的,每次又是去当前k个元素中最小的,原创 2015-03-09 21:25:13 · 735 阅读 · 0 评论 -
LeetCode | #24 Swap Nodes in Pairs
题目: Given 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 use only constant原创 2015-03-09 19:48:14 · 699 阅读 · 0 评论 -
LeetCode | #1 Two Sum
终于开始在LeetCode上刷题了,第一弹: 我是渣。 首先想到最暴力最简单的方法:双循环,两个两个地试。可以求解,但是超时,时间复杂度O(N^2)。 然后想到把大于target的数去掉,少试一点,发现题目说的是整数,可以存在负数。 再然后想到排序:先快排,然后从第一个数开始,算出差值,然后去剩下的序列中二分查找这个差值;或者从头尾设两指针,相加大于target,尾指针-1,相原创 2015-01-14 15:22:14 · 563 阅读 · 0 评论 -
Java容器学习:List、Set、Queue、Map
一、容器 很多时候,程序总是根据运行时才知道的某些条件去创建新对象,在此之前不知道所需对象的数量,甚至对象的类型,这时就需要容器来保存对象。Java容器类可以自动地调整自己的尺寸。容器类类库可以划分为两个不同的概念: Collection。一个独立元素的序列,如List(按照插入顺序保存元素),Set(不能有重复元素),Queue(按排队规则确定对象产生的顺序);Map。一组成对的“键原创 2015-01-25 16:46:44 · 728 阅读 · 0 评论 -
LeetCode | #20 Valid Parentheses
题目: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. The brackets must close in the correct order, "()" and "()[]{}" are原创 2015-01-25 15:30:28 · 643 阅读 · 0 评论 -
LeetCode | #17 Letter Combinations of a Phone Number
题目: Given a digit string, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given below. Input原创 2015-01-24 22:35:19 · 734 阅读 · 0 评论 -
LeetCode | #22 Generate Parentheses
题目: Given 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-01-25 20:53:52 · 672 阅读 · 0 评论 -
LeetCode | #21 Merge Two Sorted Lists
题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 思路: 设置两个头指针,一个指针不动,用来返回最后头结点,一个指针用来组织节点顺序,遍原创 2015-01-25 17:53:40 · 827 阅读 · 0 评论 -
LeetCode | #19 Remove Nth Node From End of List
题目: Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the原创 2015-01-24 23:59:03 · 737 阅读 · 0 评论 -
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. 思路: 罗马字符和数字的对应关系存储在map里,拿到字符串从前往后遍历,如果当前数字比后面的小,说明是减法,当做整体,如“XC” = 100-10=原创 2015-01-17 22:03:06 · 451 阅读 · 0 评论 -
LeetCode | #14 Longest Common Prefix
题目: Write a function to find the longest common prefix string amongst an array of strings. 思路: 暴力,从头开始两两对比,将相同部分和下一个对比,O(N^2),超时;减少比较次数,先找出最短的元素,相同的部分肯定比这个长度短,两两比较时只要比较这个长度即可。 public String原创 2015-01-17 23:38:44 · 573 阅读 · 0 评论 -
LeetCode | #11 Container With Most Water
题目: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i,原创 2015-01-16 16:20:58 · 533 阅读 · 0 评论 -
LeetCode | #7 Reverse Integer
题目: Reverse digits of an integer. The reversed integer might overflow. Example1: x = 123, return 321 Example2: x = -123, return -321 思路: 一开始想,不断除10取余,余数放在数组里,然后再乘10累加,注意用long,并且检查翻转后的数是原创 2015-01-15 21:51:27 · 536 阅读 · 0 评论 -
LeetCode | #12 Integer to Roman
题目: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 to 3999. 思路: 用二维数组记录每一位上0-9的罗马数字表示法,代替0-9 public String intToRoman(int num) {原创 2015-01-16 22:20:25 · 450 阅读 · 0 评论 -
LeetCode | #5 Longest Palindromic Substring
题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. 思路: 暴力原创 2015-01-15 14:43:39 · 523 阅读 · 0 评论 -
LeetCode | #6 ZigZag Conversion
题目: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A原创 2015-01-15 20:57:35 · 380 阅读 · 0 评论 -
LeetCode | #27 Remove Element
题目: Given an array and a value, remove all instances of that value in place and return the new length. The order of elements can be changed. It doesn't matter what you leave beyond the new lengt原创 2015-03-09 16:37:22 · 559 阅读 · 0 评论