leedCode】的更多相关文章

Given a , and there exists one unique longest palindromic substring. https://leetcode.com/problems/longest-palindromic-substring/ 求最大回文的长度,其实这道题比上一道有意思. 方法1 循环查询 (该方案为O(N*N*N)) public static boolean isPalindrome(String s, int start, int end) { if (((…
https://leetcode.com/problems/median-of-two-sorted-arrays/ There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). Example 1: nums1 =…
Given a string, find the length of the longest substring without repeating characters. Examples: Given . Given . Given . Note that the answer must be a substring, "pwke" is a subsequence and not a substring. 寻找最长的不重复串,略像滑动窗口. char[] buff; //used…
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 as a linked list. Input: (2 -> 4 -> 3) + (5 -> 6 ->…
Implement regular expression matching with support for '.' and '*'. 首先这里有个可能大家不知道的地方: if p[0] = '*', the string must be an invalid string.that is what Regular Expression defined. 这是别人在评论的时候说的.也就是说,pattern的第一个不可以是*: class Solution { public: bool isMat…
1.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素. 思路1:暴力解题:固定一个数nums[i],然后让target减nums[i]  如果在数组中且下标不等于i则返回[i,nums.index(target-nums[i)]. 时间复杂度:O(n^2)O(n2), 对于每个元素,我们试图通过遍历数组的其余部分来寻找它所对应的目标元…
题目描述: 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串. 给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数. 示例 : 输入:"())" 输出: 示例 : 输…
题目描述: 给定正整数 n,找到若干个完全平方数(比如 , , , , ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 : 输入: n = 输出: 解释: = + + . 示例 : 输入: n = 输出: 解释: = + . 解法一:利用数学方法(四平方定理)解决 参考:https://blog.csdn.net/qq_17550379/article/details/80875782 四平方定理:每个正整数均可表示为不超过4个整数的平方和 (组成的整数个数可为:,,…
1 题目描述 Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times. You may assume that the array is non-empty and the majority element always exist in the array. 2 分析 求主元素有两种O(n)量级的算法…
Sort a linked list using insertion sort. /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *insertionSortList(ListNode *head)…