原题链接:https://leetcode.com/problems/longest-palindromic-substring/description/ 1. 题目要求:找出字符串中的最大回文子串 2. 注意:要考虑回文子串中的字符个数是奇数还是偶数!!! 例如,“aabaa”是一个奇数个字符的回文字符串,他的中心只有一个字符“b”. “aabbaa”是一个偶数个字符的回文字符串,他的中心却有两个相同字符“bb” 3. 思路:暴力解决,以每个字符为中心,对该字符的两边进行匹配,找出最长的回文子…
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. time=255ms    accepted 暴力遍历 public String lon…
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. 思路:如果不用动态规划,在两个for循环的情况下,还得依次比较i,j间的每个字符,O(n3).使用动态规划,O(n2) char* longestPa…
1. 原题链接 https://leetcode.com/problems/combination-sum-ii/description/ 2. 题目要求 给定一个整型数组candidates[ ]和目标值target,找出数组中累加之后等于target的所有元素组合 注意:(1)每个可能的答案中,数组中的每一个元素只能使用一次:(2)数组存在重复元素:(3)数组中都是正整数:(4)不能存在重复解 3. 解题思路 这与第39题 Combination Sum 看起来很是类似,但一些细节要求完全不…
1. 原题链接 https://leetcode.com/problems/longest-common-prefix/description/ 2. 题目要求 给定一个字符串数组,让你求出该数组中所有字符串的最大公共前缀.例如{"qqwwee", "qqww", "qqfds"}的最大公共前缀为"qq",{"qqwwee", "qqww", "qqfds", &qu…
1. 原题链接 https://leetcode.com/problems/integer-to-roman/description/ 2. 题目要求 (1) 将整数转换成罗马数字: (2) 整数的范围1-3999 3. 关于罗马数字 (1)对应整数 罗马数字 I V X L C D M 对应整数 1 5 10 50 100 500 1000 (2)罗马数字的书写规则 相同的数字连写, 所表示的数等于这些数字相加得到的数.如 XXX表示 30 小的数字在大的数字的右边, 所表示的数等于这些数字相…
很经典的一道题,最长回文子串,有多种方法. 首先介绍的一种方法是从中间向两边展开.注意区分aba和abba型的回文串:如果当前最长的子串已经当于两边中最长的子串了,则无需再去判断. //从中间向两边展开 string expandAroundCenter(string s, int c1, int c2) { int l = c1, r = c2; int n = s.length(); && r <= n - && s[l] == s[r]) { l--; r++;…
Question: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.(给定一个字符串S,在S中找到最长的回文子字符串,假定最长的回文字符串长度是1000,并且在这个字符串中存在唯一的一个最长回文子字符串…
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. 玩了两天dota2,罪过罪过,还是应该老老实实刷题啊. 题目求得是最长的回文子串,这里使用的是暴力的解法,也就是解决两种回文"asdsa"以…
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. 方法: Manacher's algorithm,具体看这里http://leetcode.com/2011/11/longest-palindrom…
题目来源:https://leetcode.com/problems/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. 动态规划,类似于l…
题目 Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input: "babad" Output: "bab" Note: "aba" is also a valid answer. Example: Input: "cbbd"…
一天一道LeetCode系列 (一)题目 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. 题意:求一个字符串的最长回文字串. (二)解题 1.中心扩展法 看到这个题首先想到的就是中心扩展法,遍历每一…
题目链接:https://leetcode.com/problems/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. 解题思路:p…
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input: "babad" Output: "bab" Note: "aba" is also a valid answer. Example: Input: "cbbd" Ou…
Level:   Medium 题目描述: Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example 1: Input: "babad" Output: "bab" Note: "aba" is also a valid answer. Example 2:…
https://leetcode.com/problems/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. 思路: 我的思路是遍…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:最长回文子串,题解,leetcode, 力扣,python, C++, java 目录 题目描述 题目大意 解题方法 暴力遍历 动态规划 日期 题目地址:https://leetcode.com/problems/longest-palindromic-substring/description/ 题目描述 Given a string s, find t…
题目: 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. 思路:用Manacher算法得到最大回文子串的长度,得到带#的最大回文子串,用split剔除#后转化成String形式输出即可. public…
题目描述: 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. 解题分析: 之前百度实习生面试也被问到这个问题.这个题比较简单.就是在分别考虑对称字符字串为奇数和偶数的情况,在不超过字符串范围的情况下向…
题目: Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input: "babad" Output: "bab" Note: "aba" is also a valid answer. Example: Input: "cbbd"…
最长回文子串: 1. 暴力搜索   时间复杂度O(n^3) 2. 动态规划 dp[i][j] 表示子串s[i…j]是否是回文 初始化:dp[i][i] = true (0 <= i <= n-1);  dp[i][i-1] = true (1 <= i <= n-1); 其余的初始化为false dp[i][j] = (s[i] == s[j] && dp[i+1][j-1] == true) 时间复杂度O(n^2),空间O(n^2) 3.  以某个元素为中心,分别…
1. 原题链接 https://leetcode.com/problems/roman-to-integer/description/ 2. 题目要求 (1)将罗马数字转换成整数:(2)范围1-3999: 3. 关于罗马数字 罗马数字相关规则已经在之前一篇博客里写过,这里不再赘述(之前博客的传送门) 4. 解题思路 (1)这与之前第十二题Integer转换Roman虽然很相似,但处理方法并不相同.罗马数字更像是一个字符串,因此将其转换成字符数组进行处理. (2)从后向前遍历一次,结合罗马数字的组…
原题链接:https://leetcode.com/problems/palindrome-number/description/ 1. 题目要求:判断一个int类型整数是否是回文,空间复杂度O(1) 2. 注意:负数不是回文!!因为前面有负号!注意整数溢出问题. 3. 思路:依然采用取余取整的方法 package com.huiAlex; public class PalindromeNumber3 { public static void main(String[] args) { Pali…
这道题要求的是给你一个string, 如“adcdabcdcba",要求返回长度最大的回文子字符串.这里有两个条件,一是子字符串,而是回文.用纯暴力搜索的话,需要用到O(n^3)的时间,必然超时.就算经过细节上的优化,它也有一个很长的test case不一定能过得去(说不一定是因为有时能过有时不能过),先贴上这个O(n^3)的代码,其实可以不用仔细看,面试用这种方法可不能过,所以大概了解一下就好,它只是对之后如何产生O(n^2)的代码做个铺垫,代码如下: public class Solutio…
第一种: public static void main(String[] args) { String s = "abcbaaaaabcdcba"; int n,m; String re = ""; ; i < s.length();i++){ ;j< s.length();j++){ n = i; m = j; for(;j > i;j--,i++){ if(s.charAt(i) != s.charAt(j)) break; } if(j &…
参考:https://www.felix021.com/blog/read.php?2040,https://segmentfault.com/a/1190000002991199 做了修改. 首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号.比如 abba 变成 #a#b#b#a#, aba变成 #a#b#a#. 为了进一步减少编码的复杂度,可以在字符串的开始加入另一个特殊字符,这样就不用特殊处理越界问题,比如$#a#b#a…
1.题目描述 2.问题分析 计算每个字符所组成的字符串的回文子串. 3.代码 string longestPalindrome(string s) { ; ; bool is_odd = false ; string res ; ){ return res; } ; i < s.size() ; i++){ int n_odd = countLenOfPra(s ,i, i); ); if(n_odd > maxL ){ maxL = n_odd; index = i; is_odd = tr…
分析 与其说是算法题,不如说是语言特性题. 这题要是对Java的String相关函数掌握的比较熟练,写起来的速度(各种意义上)就会很快. 大致的思路都是一致的,差不到哪里去,无非是枚举长度.值得一提的是,从长到短的枚举顺序要比从短到长优得多. 代码 class Solution { public String longestCommonPrefix(String[] strs) { if (strs == null || strs.length == 0) { return ""; }…
1. 原题链接 https://leetcode.com/problems/search-insert-position/description/ 2. 题目要求 给定一个已经排好序的数组和一个目标值,假设该数组中没有重复值,返回目标值在数组中的插入位置下标. 3. 解题思路 利用折半查找法定位插入的位置 4. 代码实现 public class SearchInsertPosition35 { public static void main(String[] args) { int[] num…