【LeetCode—House Robber 寻找数组不相邻组合最大值DP】教程文章相关的互联网学习教程文章

Validate Binary Search Tree [leetcode]

在递归函数中,加上max和min,保存当前子树的最大值和最小值合法的二叉查找树:1.左子树最大值<根节点2.右子树最小值>根节点3.子树均为合法的BSTbool isValidBST(TreeNode *root) {if (!root) return true;int max, min;return isValid(root, max, min);}bool isValid(TreeNode * root, int & max, int & min){int subTreeMax, subTreeMin;max = min = root->val;if (root->left){if (!isValid(root->left, subTreeMax, subTreeMin...

[LeetCode] 412. Fizz Buzz【代码】

Write a program that outputs the string representation of numbers from 1 to n.But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.Example:n = 15,Return: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz" ]输出1到n的数...

[LeetCode]Set Matrix Zeroes

Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.click to show follow up.Follow up:Did you use extra space? A straight forward solution using O(mn) space is probably a bad idea. A simple improvement uses O(m + n) space, but still not the best solution. Could you devise a constant space solution?public class Solution {public void setZeroes(int[][] matrix)...

leetcode 之 Same Tree【代码】【图】

1、题目描述Given two binary trees, write a function to check if they are the same or not. Two binary trees are considered the same if they are structurally identical and the nodes have the same value. 给定两个二叉树,判断两个二叉树是否相同。 3、代码 1bool isSameTree(TreeNode* p, TreeNode* q) {2 3if( p == NULL || q == NULL ) return ( p == q );4 5if( p->val == q->val && isSameTree(p->left,q->left) ...

LeetCode——Word Break

Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, givens = "leetcode",dict = ["leet", "code"]. Return true because "leetcode" can be segmented as "leetcode". 原题链接:https://oj.leetcode.com/problems/word-break/ 题目:给定一个字符串和一个单词词典,判断字符串能否被切分成空格隔开的存在于词典...

LeetCode-Maximum Size Subarray Sum Equals k【代码】

Given an array nums and a target value k, find the maximum length of a subarray that sums to k. If there isn‘t one, return 0 instead. Example 1: Given nums = [1, -1, 5, -2, 3], k = 3, return 4. (because the subarray [1, -1, 5, -2] sums to 3 and is the longest) Example 2: Given nums = [-2, -1, 2, 1], k = 1, return 2. (because the subarray [-1, 2] sums to 1 and is the longest) Follow Up:Can you do ...

LeetCode-71-Simplify Path【代码】

算法描述:Given an absolute path for a file (Unix-style), simplify it. Or in other words, convert it to the canonical path.In a UNIX-style file system, a period . refers to the current directory. Furthermore, a double period .. moves the directory up a level. For more information, see: Absolute path vs relative path in Linux/UnixNote that the returned canonical path must always begin with a slash ...

1. Two Sum - LeetCode【代码】

Question1. Two SumSolution思路很简单这里就不说了,下面贴了不同的几个Java实现的时间与其他算法实现的时间的比较这个是LeetCode的第一道题,也是我刷的第一道,刚一开始的Java实现publicint[] twoSum(int[] nums, int target) {boolean find = false;int targeti = -1, targetj = -1;for (int i = 0; i < nums.length; i++) {for (int j = 0; j < nums.length; j++) {if (i == j) {continue;}if (nums[i] + nums[j] == target) ...

[LeetCode] 22. Generate Parentheses_Medium tag: backtracking【代码】

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. Example 1:Input: n = 3 Output: ["((()))","(()())","(())()","()(())","()()()"] Example 2:Input: n = 1 Output: ["()"] Constraints:1 <= n <= 8 Idea:backtracking. Code1, generate all pairs with 2 * n, then check whether they are valid parentheses.T: O(2^(2n) * n)S: O(2^(2n) * n)class Solution:def g...

[Leetcode] Linked List Cycle【代码】

Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space? Solution:快慢指针。 1/** 2 * Definition for singly-linked list.3 * class ListNode {4 * int val;5 * ListNode next;6 * ListNode(int x) {7 * val = x;8 * next = null;9 * } 10 * } 11*/12publicclass Solution { 13publicboolean hasCycle(ListNode head) { 14if(head==nu...

LeetCode Ones and Zeroes【代码】

原题链接在这里:https://leetcode.com/problems/ones-and-zeroes/description/题目:In the computer world, use restricted resource you have to generate maximum benefit is what we always want to pursue.For now, suppose you are a dominator of m 0s and n 1s respectively. On the other hand, there is an array with strings consisting of only 0s and 1s.Now your task is to find the maximum number of strings t...

leetcode——39. 组合总和

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[ [7], [2,2,3]]示例 2:输入: candidates = [2,3,5], target = 8,所求解集为:[ [2,2,2,2], [2,3,3], [3,5]]自己下分析一通,越想...

LeetCode 107:Binary Tree Level Order Traversal II【代码】

Given a binary tree, return the bottom-up level order traversal of its nodes‘ values. (ie, from left to right, level by level from leaf to root). For example: Given binary tree {3,9,20,#,#,15,7}, 3/ 9 20/ 15 7return its bottom-up level order traversal as:[[15,7],[9,20],[3] ]confused what "{1,#,2,3}" means? ' ref='nofollow'>> read more on how binary tree is serialized on OJ.此题与LeetC...

leetcode.92. Reverse Linked List II【代码】

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * };1. 。*/struct ListNode* reverseBetween(struct ListNode* head, int m, int n) { if(head==NULL||head->next==NULL) return head; int i,j; struct ListNode *p,*a,*q,*bot; p=(struct ListNode*)malloc(sizeof(struct ListNode)); p->next=head; bot=p; for(i=1;i<m;i++){ p=p->nex...

LeetCode 234 Palindrome Linked List【代码】

要点理解 :回文串是中心对称的 /*** @Description 链表类需要自定义* @Date 2019/8/11 17:40**/class ListNode {int val;ListNode next;public ListNode(int x){val=x;}}/*** @Description* @Date 2019/8/11 17:40**/publicclass PalindromeLinkedList {publicboolean isPalindrome(ListNode head) {if (head == null || head.next == null) {returntrue;}ListNode prev = null;ListNode slow = head;ListNode fast = head;// 直到...