2 qq 32485573 qq_32485573 于 2016.04.10 17:41 提问

通过删改构成最长回文数问题

给定一串数字,通过删除某些数字构成一个回文数,算法如何实现,最好使用java试实现。例 1234564321,删除5或者6,就构成了最长回文数。

3个回答

a172586418
a172586418   2016.04.10 20:59
已采纳

个人认为:首先要构成回文,是不是应该是一对称数组才行?如果是一个对称数组?就像例子一样。1234564321,length=10,如果是123454321,length=9,这个已经是回文了,所以
长度是双数,我们可以将1234 56 4321中间的两个数(5,6)任意删去其一,就构成回文了。希望能够帮助你。

qq_26714389
qq_26714389   2016.04.11 11:12

for i len in len / 2
if i != len-i:
i = len-i

qq_26714389
qq_26714389   2016.04.11 11:13

for i len in len / 2
if i != len-i:
i = len-i

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
[java面试题]求出一段字符串中出现的最长的回文数
package com.wzw.util; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; public class HuiWen { public static void main(String[] args) throws Exception { List result
最长回文数
01./* 02.简单题 03. 04.求最长回文数,多阶段决策问题类动态规划 05. 06.题意:字符串S中包含的最长回文数为多长。即删除若干个字母后,剩余为回文数,问长度最长为多少。 07. 08.状态转移方程为:if(str[i]==str[j]) f[i][j]=f[i+1][j-1]+2; 09.else f[i][j]=max(f[i+1][j],f[i][j-1]).
构成最小回文数的分析
给定字符串,可以通过插入字符,使其变成回文,求最少插入字符的数量。 比如 poj 1159 这题 Ab5db可以最少插入两个字符 构成回文 Abd5dbA abcd可以最少插入三个字符 构成回文 abcdcba 分析: 用动态规划。 设字符为str[] ,长度为n,下标的开始为l,结束为h 那么如果str[l]==str[h] ,则只需要看str从l+1到h-1的回文如何构
回文数的判断问题 已编译通过
回文数的判断问题 已编译通过 推荐看看
最长回文数2
用对称轴来遍历 按长度分奇数个和偶数个 虽然效率高,但是太费脑子了 新用了ctype.h库函数#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> char s[5000]; char a[5000];int main() { int p[200]; int x,y,x1,y1
寻找最大回文数(未完待续)
有一道笔试题: 回文数是指无论从左往右读还是从右往左读的都是一样的数。 由两个2位数相乘得到的最大回文数是9009(9009= 91 * 99),请编程计算由两个3位数相乘能够得到的最大回文数。 C语言算法实现如下: /* ** ** Created Date: 2011/09/22 ** Description: 寻找两个3位数相乘得到的最大回文数。
C++回文数回文数回文数回文数
回文数 关于C++的回文数回文数 关于C++的回文数回文数 关于C++的回文数回文数 关于C++的回文数回文数 关于C++的回文数
有关回文数的一个问题
[问题表述]给定了一个字符串s 和一个最大修改次数max只能修改s中的字符,最多修改max次定义回文分数:如果s不是回文,则为0否则:若s长度是奇数,分数为1若s长度是偶数,分数为s的一半字串的回文分数+1 求能得到的最大回文分数  [思想]:见代码,通过循环(当然递归的方式也可以解决,总体是改进的折半的思想),已经解决,64-79行代码很重要
回文数系列题目(经典算法)
NYOJ 回文串系列题目 acm
回文数问题
回文数的概念