leetcode
寒沧
渣渣学生
展开
-
561. Array Partition I
/** * Created by Joe on 2018/4/6. * 561. Array Partition I * https://leetcode.com/problems/array-partition-i/description/ */public class P561 { public int arrayPairSum(int[] nums) { A...原创 2018-04-06 22:27:12 · 141 阅读 · 0 评论 -
543. Diameter of Binary Tree
/** * Created by Joe on 2018/3/17. * 543. Diameter of Binary Tree * https://leetcode.com/problems/diameter-of-binary-tree/description/ */public class P543 { int max = 0; public int diame...原创 2018-03-17 21:25:19 · 180 阅读 · 0 评论 -
242. Valid Anagram
Given two strings s and t, write a function to determine if t is an anagram of s.For example,s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false.Note:You may assume the...原创 2018-03-04 13:51:24 · 179 阅读 · 0 评论 -
530. Minimum Absolute Difference in BST
原题链接: https://leetcode.com/problems/minimum-absolute-difference-in-bst/description/一个常见的想法是使用中序遍历来遍历这颗BST(因为二叉排序树中序遍历就是一个已经有序的数组),然后计算相邻两个数的差值,就可以计算得出最小的绝对值之差。public class Solution { int m...原创 2018-03-04 15:31:13 · 135 阅读 · 0 评论 -
409. Longest Palindrome
原题链接:https://leetcode.com/problems/longest-palindrome/description/原题意思是找出所给字符串能构造出来的最长回文串的长度,主要思路如下:统计每个字符出现次数遍历,如果是偶数则想加,如果是奇数则-1再加返回判断出现次数是否含有奇数,如果有奇数次出现则返回值+1import java.util.HashMap;imp...原创 2018-03-16 21:23:34 · 174 阅读 · 0 评论 -
661. Image Smoother
原题链接:https://leetcode.com/problems/image-smoother/description/import java.util.Arrays;/** * Created by Joe on 2018/3/15. * 661. Image Smoother * https://leetcode.com/problems/image-smoother/d...原创 2018-03-15 22:13:13 · 183 阅读 · 0 评论 -
599. Minimum Index Sum of Two Lists
原题链接:https://leetcode.com/problems/minimum-index-sum-of-two-lists/description/import java.util.*;/** * Created by Joe on 2018/3/15. * 599. Minimum Index Sum of Two Lists * https://leetcode.com...原创 2018-03-15 21:38:04 · 165 阅读 · 0 评论 -
697. Degree of an Array
原题链接: https://leetcode.com/problems/degree-of-an-array/description/import java.util.HashMap;import java.util.Map;/** * Created by Joe on 2018/3/14. * 697. Degree of an Array * https://leetco...原创 2018-03-14 22:44:13 · 161 阅读 · 1 评论 -
448. Find All Numbers Disappeared in an Array
原题链接这个题主要是寻找没有出现的数字。 代码的主要思路是,如果找到数值i,则把对应i-1索引的值取负。 之后遍历列表,如果发现i-1里面的数>0,则值i没有出现过。/** * Created by Joe on 2018/1/9. * 448. Find All Numbers Disappeared in an Array * https://leetcode.com/pro原创 2018-01-09 23:19:40 · 115 阅读 · 0 评论 -
538. Convert BST to Greater Tree
/** * Created by Joe on 2018/1/17. * 538. Convert BST to Greater Tree * https://leetcode.com/problems/convert-bst-to-greater-tree/description/ */public class P538 { private int sum = 0; pub原创 2018-01-17 22:54:25 · 132 阅读 · 0 评论 -
401. Binary Watch
import java.util.ArrayList;import java.util.List;/** * Created by Joe on 2018/3/17. * 401. Binary Watch * https://leetcode.com/problems/binary-watch/description/ */public class P401 { publ...原创 2018-03-17 21:54:27 · 163 阅读 · 0 评论 -
628. Maximum Product of Three Numbers
import java.util.Arrays;/** * Created by Joe on 2018/3/17. * 628. Maximum Product of Three Numbers * https://leetcode.com/problems/maximum-product-of-three-numbers/description/ */public class P...原创 2018-03-17 22:36:17 · 131 阅读 · 0 评论 -
747. 至少是其他数字两倍的最大数
在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.示例 2:输入: nums = [1...原创 2018-04-16 22:25:55 · 522 阅读 · 0 评论 -
674. 最长连续递增序列
给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。 示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], 长度为1。注意:数组长...原创 2018-04-16 21:43:57 · 563 阅读 · 0 评论 -
746. Min Cost Climbing Stairs
数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。/** * Created by Joe on 2018/4/7. * 746. Min C...原创 2018-04-07 21:42:15 · 165 阅读 · 0 评论 -
268. Missing Number
给出一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。/** * Created by Joe on 2018/4/7. * 268. Missing Number * https://leetcode.com/problems/missing-number/description/ */public class P268 ...原创 2018-04-07 21:28:26 · 160 阅读 · 0 评论 -
695. Max Area of Island
/** * Created by Joe on 2018/4/7 * 695. Max Area of Island * https://leetcode.com/problems/max-area-of-island/description/ */public class P695 { private int m; private int n; public ...原创 2018-04-07 16:52:57 · 153 阅读 · 0 评论 -
766. Toeplitz Matrix
/** * Created by Joe on 2018/4/7 * 766. Toeplitz Matrix * https://leetcode.com/problems/toeplitz-matrix/description/ */public class P766 { public boolean isToeplitzMatrix(int[][] matrix) { ...原创 2018-04-07 16:00:31 · 206 阅读 · 0 评论 -
350. Intersection of Two Arrays II
import java.util.ArrayList;import java.util.HashMap;/** * Created by Joe on 2018/3/18. * 350. Intersection of Two Arrays II * https://leetcode.com/problems/intersection-of-two-arrays-ii/descript...原创 2018-03-18 22:08:10 · 156 阅读 · 0 评论 -
551. Student Attendance Record I
/** * Created by Joe on 2018/3/18. * 551. Student Attendance Record I * https://leetcode.com/problems/student-attendance-record-i/description/ */public class P551 { public boolean checkRecor...原创 2018-03-18 21:47:25 · 140 阅读 · 0 评论 -
387. First Unique Character in a String
原题链接: https://leetcode.com/problems/first-unique-character-in-a-string/description/首选计算每一个字母的出现频率然后找到第一个出现频次为1的字母索引/** * Created by Joe on 2018/3/4. * 387. First Unique Character in a Strin...原创 2018-03-04 22:58:05 · 148 阅读 · 0 评论 -
717. 1-bit and 2-bit Characters
/** * Created by Joe on 2018/1/17. * 717. 1-bit and 2-bit Characters * https://leetcode.com/problems/1-bit-and-2-bit-characters/description/ */public class P717 { public boolean isOneBitCharac原创 2018-01-17 22:22:08 · 214 阅读 · 0 评论 -
606. Construct String from Binary Tree
/** * Created by Joe on 2018/1/17. * 606. Construct String from Binary Tree * https://leetcode.com/problems/construct-string-from-binary-tree/description/ */public class P606 { class Solution原创 2018-01-17 22:06:39 · 164 阅读 · 0 评论 -
521. Longest Uncommon Subsequence I
原题链接1 蛮力破解(Time Limit Exceeded)暴力破解方式将会生成所有的 2n2^n个子序列。并且将他们的复现次数也一同存储到hashmap中。最长的子序列的复现次数一定为1,如果没有找到复现次数为1的序列,则返回-1ublic class Solution { public int findLUSlength(String a, String b) { Ha原创 2017-12-27 22:43:23 · 149 阅读 · 0 评论 -
Remove Element
水题原题连接public int removeElement(int[] nums, int val) { int i = 0; for (int j = 0; j < nums.length; j++) { if (nums[j] != val) { nums[i] = nums[j]; i++; }原创 2017-11-23 21:33:28 · 135 阅读 · 0 评论 -
Remove Duplicates from Sorted Array
题目链接这个题最重要的是读题, 不得不说这个题目出的真的是坑。。。题目: 给定一个有序数组,删除重复内容,使每个元素只出现一次,并返回新的长度。 不要为其他数组分配额外的空间,您必须通过在O(1)额外的内存中就地修改输入数组来实现这一点。Example:给定数组 nums = [1,1,2],你的函数应该返回 length = 2,并且数组中前两个元素为1和2你无须担心会超过新的数组长度c原创 2017-11-22 14:26:04 · 132 阅读 · 0 评论 -
561. Array Partition I
原题链接public class Solution { public int arrayPairSum(int[] nums) { Arrays.sort(nums); int result = 0; for (int i = 0; i < nums.length; i += 2) { result += nums[i]原创 2017-11-30 19:20:50 · 119 阅读 · 0 评论 -
Merge Two Binary Trees
原题链接题目主要的意思如下:如果两棵树内对应节点均有数据,则节点值相加;如果没有,则将对应子树进行拼接。思路: 分治法。因为对每个节点的操作都可以分割为独立的小问题。class Solution { public TreeNode mergeTrees(TreeNode t1, TreeNode t2) { if (t1 == null && t2 == null)原创 2017-11-29 21:09:41 · 145 阅读 · 0 评论 -
3Sum Closest
原题链接 给含有n个元素的数组S,寻找出S中的三个元素,使其求和接近于所给的数字,target。并且返回这三个元素之和。你应该假设每一个输出只有一个确切的答案例如, 所给数组为 S = {-1 2 1 -4}, 并且目标数字target = 1.那么最接近目标数字的和是2. (-1 + 2 + 1 = 2).public class Solution { public int three原创 2017-10-30 19:47:54 · 176 阅读 · 0 评论 -
3Sum
原题链接 给一个拥有n个元素的数组S,S中是否会有a,b,c三个元素使得a+b+c=0?寻找出满足该条件的所有唯一三元组。 Note: 答案中必须不能含有重复的三元组class Solution { public List<List<Integer>> threeSum(int[] num) { //先排序 Arrays.sort(num);原创 2017-10-30 19:36:25 · 225 阅读 · 0 评论 -
ZigZag Conversion
原题链接重点需要注意的是对ZigZag这个单词的理解。题目对我们来说需要是对给定的字符串构造之字形的样式。 如图所示 接下来是我的解答,我的方法是模拟出来对应的样式,然后再遍历进行字符串的拼接package leetcode;import java.util.Arrays;/** * Created by Joe on 2017/9/12. */public class ZigZagCon原创 2017-09-12 20:25:05 · 400 阅读 · 0 评论 -
Longest Palindromic Substring
题目链接首先提供一个暴力穷举的暴力解法,代码超时无误package leetcode;/** * Created by Joe on 2017/9/11. * * leetcode 第五题,最长回文子序列,没有AC,超时 */public class LongestPalindromicSubstring { //判断字符串是否回文 public static boolean原创 2017-09-11 20:58:55 · 186 阅读 · 0 评论 -
String to Integer
原题链接做这道题是真的心累!!! 已经不想说话。。直接上代码,,,,,package leetcode;/** * Created by Joe on 2017/9/13. */public class StringToInteger { public int myAtoi(String str) { int index = 0, sign = 1, total =原创 2017-09-13 19:56:21 · 667 阅读 · 0 评论 -
Reverse Words in a String III
原题链接/** * Created by Joe on 2017/12/12. */public class P557 { public String reverseWords(String s) { if (s == null) return null; if (s == "") { return "";原创 2017-12-12 20:46:11 · 162 阅读 · 0 评论 -
500. Keyboard Row
原题链接这道题如果是自己做的话,应该就是遍历了。 但是在discuss区有个非常巧妙的做法,这里就贴上来public class P500 { public String[] findWords(String[] words) { return Stream.of(words).filter(s -> s.toLowerCase().matches("[qwertyuiop原创 2017-12-12 21:37:13 · 141 阅读 · 0 评论 -
637. Average of Levels in Binary Tree
原题链接主要考察的是对树这个数据结构的遍历。这里有两种方式BFS 在这种题目上来说,使用BFS进行层次遍历进行代码的书写更舒服public List<Double> averageOfLevels(TreeNode root) { List<Double> list = new LinkedList<>(); Queue<TreeNode> queue = new LinkedList<>原创 2017-12-27 20:50:17 · 257 阅读 · 0 评论 -
496. Next Greater Element I
原题链接这个题做起来相对有意思一些。这是一个用于找规律的题。题目大意是,给两个数组nums1和nums2,其中nums1的元素均是nums2里面的子元素,问nums1中元素右边最大的元素是谁,如果没有则返回-1。这个题的思路就是:把nums2拆分为若干递减再递增的列表。然后依次push到HashMap中。遍历nums1,获取HashMap中的value值例: 假定num2中的元素为[1,3,原创 2017-12-26 19:15:53 · 175 阅读 · 0 评论 -
669. Trim a Binary Search Tree
原题链接/** * Created by Joe on 2017/12/14. * https://leetcode.com/problems/trim-a-binary-search-tree/description/ */public class P669 { public TreeNode trimBST(TreeNode root, int L, int R) {原创 2017-12-14 22:45:53 · 161 阅读 · 0 评论 -
566. Reshape the Matrix
原题链接/** * Created by Joe on 2017/12/13. * https://leetcode.com/problems/reshape-the-matrix/description/ */public class P566 { public int[][] matrixReshape(int[][] nums, int r, int c) {原创 2017-12-13 22:57:55 · 152 阅读 · 0 评论 -
412. Fizz Buzz
原题链接import java.util.ArrayList;import java.util.List;/** * Created by Joe on 2017/12/13. * https://leetcode.com/problems/fizz-buzz/description/ */public class P412 { public List<String> fizzBu原创 2017-12-13 22:21:01 · 187 阅读 · 0 评论