刷题日记
文章平均质量分 62
向女神看齐
这个作者很懒,什么都没留下…
展开
-
A
valid parenthesis bst min path rotate image 和2nd linkedlist reverse原创 2017-07-27 10:46:58 · 241 阅读 · 0 评论 -
33. Search in Rotated Sorted Array 二分法
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If foun原创 2017-05-15 21:44:39 · 189 阅读 · 0 评论 -
48. Rotate Image
You are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Follow up:Could you do this in-place?意思就是把一个n*n的二维数组90°旋转一下二维数组的相关知识:比如 :[ [1,2,3,4原创 2017-05-25 20:54:00 · 148 阅读 · 0 评论 -
12. Integer to Roman StringBuilder的运用以及StringBuffer和StringBuilder的比较
public class Solution { public String intToRoman(int num) { int[] values = {1000,900,500,400,100,90,50,40,10,9,5,4,1}; String[] strs = {"M","CM","D","CD","C","XC","L","XL","X","IX"原创 2017-05-05 21:15:25 · 153 阅读 · 0 评论 -
13. Roman to Integer
罗马数字转换成整数:首先要来了解一下罗马数字表示法,基本字符有7个:I,V,X,L,C,D,M,分别表示1,5,10,50,100,500,1000。在构成数字的时候,有下列规则:1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:Ⅲ = 3;2、小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数, 如:Ⅷ = 8;Ⅻ = 12;3、小的数原创 2017-05-05 20:05:37 · 198 阅读 · 0 评论 -
24. Swap Nodes in Pairs using recursion
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 space. Y原创 2017-05-14 19:48:46 · 207 阅读 · 0 评论 -
22. Generate Parentheses----dfs
深度优先算法dfs==回溯法backtrackingGiven n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[ "((()))", "原创 2017-05-13 22:42:03 · 143 阅读 · 0 评论 -
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 end, the原创 2017-05-13 16:58:27 · 145 阅读 · 0 评论 -
2. Add Two Numbers
题目:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and原创 2017-04-29 22:17:12 · 133 阅读 · 0 评论 -
40. Combination Sum II
Given 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 be used once in the combina原创 2017-05-11 10:48:15 · 154 阅读 · 0 评论 -
77. Combinations
Given 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], [1,3], [1,4],]原创 2017-05-11 16:58:54 · 260 阅读 · 0 评论 -
39. Combination Sum-dfs
Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.The same repeated number may be chosen原创 2017-05-10 22:28:11 · 167 阅读 · 0 评论 -
31. Next Permutation
Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible原创 2017-05-15 22:29:49 · 183 阅读 · 0 评论 -
15 three sum 用到Arrays.sort 和 Arrays.asList()的方法
Given 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: The solution set must not contain原创 2017-05-07 22:23:10 · 400 阅读 · 0 评论 -
Binary Tree的相关练习 104,111
104. 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原创 2017-06-03 21:58:12 · 335 阅读 · 0 评论 -
Multiply String
题意就是给你两个字符串型的数字,给这两个数字做乘法。 如果直接转换成Integer做乘法就会溢出。 所以要一步一步来。先给出代码:public class Solution { public String multiply(String num1, String num2) { int m=num1.length(); i原创 2017-05-20 16:46:49 · 377 阅读 · 0 评论 -
46 permutations && 47 Permutation II
Given a collection of distinct numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1原创 2017-05-20 10:31:04 · 241 阅读 · 0 评论 -
54. Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example,Given the following matrix:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]原创 2017-05-29 11:22:11 · 248 阅读 · 0 评论 -
28. Implement strStr()
Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.题目是要求找到第一个出现指定字符串的字符串中的index我的代码:public class Solution {原创 2017-05-09 16:57:56 · 184 阅读 · 0 评论 -
3SUM &&16. 3SUM closest && 18.4SUM
3 sum closest就是3sum 的变形, 输出和target最相近的值基本思路和3sum相同,但是添加了一个closedistance变量public class Solution { public int threeSumClosest(int[] nums, int target) { if(nums.length<3||nums==null) retu原创 2017-05-09 15:56:04 · 176 阅读 · 0 评论 -
50. Pow(x, n)
实现power的功能就是Pow(x,n) = x^n但实际上按照今天学习的分治法里面的内容,其实x^n = x^(n/2)* x^(n/2) * x在这道题目里,x的N次方可以看做:x^n = x^(n/2)*x^(n/2)*x^(n%2)还需要考虑n为负数的情况利用递归求解public class Solution { public double power(原创 2017-05-27 22:39:08 · 189 阅读 · 0 评论 -
36. Valid Sudoku
The Sudoku board could be partially filled, where empty cells are filled with the character '.'.A partially filled sudoku which is valid.Note:A valid Sudoku board (partially filled原创 2017-05-17 14:33:31 · 148 阅读 · 0 评论 -
162. Find Peak Element 再做一遍!
A peak element is an element that is greater than its neighbors.Given an input array where num[i] ≠ num[i+1], find a peak element and return its index.The array may contain multiple peaks, in原创 2017-04-25 22:06:44 · 141 阅读 · 0 评论 -
240. Search a 2D Matrix II && 74. Search a 2D Matrix
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted in ascending from left to right.Integers in原创 2017-04-25 20:39:30 · 183 阅读 · 0 评论 -
17. Letter Combinations of a Phone Number 回溯算法
这道题是我第一次接触回溯算法,没写出来,感觉很难,小白真的是忧伤。。。看了别人的答案,有些理解这个算法了,可是感觉自己还是独立写不出来,然后盲敲了一遍这个答案Given a digit string, return all possible letter combinations that the number could represent.A mapping of di原创 2017-05-10 20:22:32 · 283 阅读 · 0 评论 -
3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "原创 2017-05-02 10:49:04 · 200 阅读 · 0 评论 -
436. Find Right Interval 要重新做!!
题目:Given a set of intervals, for each of the interval i, check if there exists an interval j whose start point is bigger than or equal to the end point of the interval i, which can be called tha原创 2017-04-15 18:55:07 · 206 阅读 · 0 评论 -
344. Reverse String 自己的方法略显麻烦= =
题目:Write a function that takes a string as input and returns the string reversed.Example:Given s = "hello", return "olleh".首先补充了几个知识点:1. string与chr数组的转换:string--->char[ ] : cha原创 2017-03-15 14:52:56 · 190 阅读 · 0 评论 -
167. Two Sum II - Input array is sorted-----binary search
题目如下:Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the原创 2017-04-10 15:40:03 · 255 阅读 · 0 评论 -
27. Remove Element 为什么我会想的很复杂
public class Solution { public int removeElement(int[] nums, int val) { int temp=0; for(int i=0;i<nums.length;i++){ if(nums[i]!=val){ nums[temp]=nums[i]原创 2017-03-14 22:15:15 · 222 阅读 · 0 评论 -
26. Remove Duplicates from Sorted Array-----two pointers
public class Solution { public int removeDuplicates(int[] nums) { int count=0; for(int i=1;i<nums.length;i++){ if(nums[i]!=nums[count]){ count++;原创 2017-03-15 09:54:39 · 174 阅读 · 0 评论 -
367. Valid Perfect Square
题目:Given a positive integer num, write a function which returns True if num is a perfect square else False.Note: Do not use any built-in library function such as sqrt.Example 1:Input: 16原创 2017-04-09 22:42:07 · 167 阅读 · 0 评论 -
445. Add Two Numbers II 不会写理解了答案
public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { Stack s1 = new Stack(); Stack s2 = new Stack(); //push all value into stack while(原创 2017-04-05 22:44:18 · 353 阅读 · 0 评论 -
61. Rotate List 再做一次
Given a list, rotate the list to the right by k places, where k is non-negative.For example:Given 1->2->3->4->5->NULL and k = 2,return 4->5->1->2->3->NULL./** * Definition for singly-linked原创 2017-04-09 17:50:09 · 169 阅读 · 0 评论 -
118 Pascal' Triangle 逻辑已经跟不上了咋整= =
public class Solution { public List> generate(int numRows) { List> result = new ArrayList>(); if(numRows==0){ return result; // 输入为0的时候,返回[] } List firs原创 2017-03-14 15:34:11 · 273 阅读 · 0 评论 -
35. Search Insert Position
今天的第二题 感觉爱上了刷题的感觉还是调试了很久 没能一次过错误主要是:1. 忘记了array的最大index实际上是length-12. for循环循环了所有的数 所以不可以单独的在里面比较good night原创 2017-03-13 23:34:02 · 182 阅读 · 0 评论 -
第一次没有看答案刷题
小白终于开始自己独立编程了真的是很简单的题目 two sum OJ1但是自己调试了很久,下面说一下自己开始sumbit时没能通过的几个tests:1. 没有比较返回的两个index的大小,实际上应该小的在前面大的在后面2. 没有考虑有可能target-nums[i] 中i和j是同一个数的情况:eg. [3,3]这样有可能都返回同一个index 而题意是不同的index 每个数只用一原创 2017-03-13 14:48:06 · 242 阅读 · 0 评论 -
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.Subscribe to see which companies asked this questio原创 2017-04-07 11:26:02 · 121 阅读 · 0 评论 -
374. Guess Number Higher or Lower---------binary search
题目是:We are playing the Guess Game. The game is as follows:I pick a number from 1 to n. You have to guess which number I picked.Every time you guess wrong, I'll tell you whether the n原创 2017-04-10 19:58:54 · 155 阅读 · 0 评论 -
454. 4Sum II
题目:Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such that A[i] + B[j] + C[k] + D[l] is zero.To make problem a bit easier, all A, B, C, D ha原创 2017-04-15 18:45:21 · 132 阅读 · 0 评论