首页 > 其他分享 >最长回文字串之暴力解法

最长回文字串之暴力解法

时间:2023-03-28 22:15:03浏览次数:42  
标签:string 暴力 max 文字串 字符串 最长 解法 回文

最长回文字串是一个典型的算法问题,首先要搞清楚什么是回文。
回文,故名思义就是对称的文字,比如“ABA”,比如“ABABC”中的“AB“。
题目如下:

给你一个字符串 s,找到 s 中最长的回文子串。

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。
示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:

输入:s = "cbbd"
输出:"bb"
 
提示:

1 <= s.length <= 1000
s 仅由数字和英文字母组成

最直接的办法就是暴力枚举,逐个字符去找最长的回文字,具体代码如下所示:

package main

import "fmt"

// Give a string s, find the longest palindromic substring in s
// Give a string s, find the longest palindromic substring
func longestPalindrome(s string) string {
	if len(s) <= 1 {
		return s
	}
	var res []string
	for i := 0; i < len(s); i++ {
		for j := i + 1; j <= len(s); j++ {
			if isPalindrome(s[i:j]) {
				res = append(res, s[i:j])
			}
		}
	}
	var max string
	for _, v := range res {
		if len(v) > len(max) {
			max = v
		}
	}
	return max
}

// judge if a string is palindrome
func isPalindrome(s string) bool {
	if len(s) <= 1 {
		return true
	}
	for i := 0; i < len(s)/2; i++ {
		if s[i] != s[len(s)-1-i] {
			return false
		}
	}
	return true
}
func main() {
	res := longestPlaindrome("sdtdtttdt")
	fmt.Println(res)
}

标签:string,暴力,max,文字串,字符串,最长,解法,回文
From: https://www.cnblogs.com/freephp/p/17266920.html

相关文章

  • 让镜头数量之争终结!Holga iPhone外壳暴力集成10个镜头
    iPhone配件市场越来越疯狂了,厂商们天马行空的思维让我们不得不感叹“原来iPhone还可以这样玩”。最近,一款暴力堆砌了10个塑料镜头的Holga镜头外壳拉风上市。在摄影领域,Holg......
  • 一套sql面试题的mysql解法
    1.表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sqlselect*fromTorderbyc[desc]limit20,102.表T(a,b,c,d)和表T1(a1,b1,c1,d1),表T中a字段是T1中......
  • 如何优雅的暴力——分块
    前言近期也是把hzwer的数列分块入门肝完了,感觉分块很玄学(什么是分块分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算......
  • 暴力测试--CC压测服务器端口
    #coding=utf-8importctypeslibgcc_s=ctypes.CDLL('libgcc_s.so.1')importsocketimportthreading#定义IP地址和端口范围ip_address="192.168.1.45"start_p......
  • MySQL求最大同时在线人数的一种解法
    目录题目地址代码题目地址https://www.nowcoder.com/practice/d69677e41f9a4bf3b3ed7a42573e9490代码withtotal_infoas(selectct.course_id,ct.course_name,......
  • 暴力枚举
    P2241统计方形(数据加强版)1#include<iostream>2usingnamespacestd;3longlongn,m,rec,sqr;4intmain(){5cin>>n>>m;6for(inti=1;i<=n;i......
  • wpa_supplicant中产生__cfi_check错误crash解法
    wifi的crash问题在于以下指定几个wpa会用到的so。wpa该平台是原生的,以下几个s0用原生的就行了。用mtk的hal层的s0会出错我想是因为wpa在mtk的平台不是存原生,加了很多接口以......
  • 暴力-正方形
    1#include<bits/stdc++.h>2usingnamespacestd;3longlongansz,ansc;4intmain()5{6longlongn,m,n1,m1;7cin>>n>>m;8n1=n;9......
  • 暴力枚举正方形、长方形
    #include<bits/stdc++.h>usingnamespacestd;longlongn,m,nn,mm,zfx,cfx;//n、m为长宽intmain(){cin>>n>>m;nn=n;mm=m;while(mm>=1&&nn>=1......
  • npm暴力安装解决依赖冲突
    今天安装一直报错依赖冲突没办法只能暴力安装上去然后跑了下项目居然没事 项目顺利跑起来了 安装的包也起了作用小伙伴门实在找不到方法可以试试暴力安装..........