华为认证

华为上机题目之最长回文

时间:2024-06-23 22:55:23 华为认证 我要投稿
  • 相关推荐

2016年华为上机题目之最长回文

  本文为同学们分享的是华为上机题目之最长回文,希望对大家复习华为认证有所帮助!

  一段字符串中提取最长的回文长度:

  浅显易懂的想法就是假设任何一个位置的字符为回文中心,进行两个方向的扩散,进而提取最长回文。

  这是最朴素的想法:

  代码如下:

  1 #include

  2 #include

  3 using namespace std;

  4

  5 char str[100]="abbbbaaa";

  6

  7

  8 //如果是回文长度是偶数个

  9 int getMidtwoNum(char* s,int length,int index)

  10 {

  11 int re=1;

  12 int t=index,b=index+1;

  13 while(t>=0&&b

  14 {

  15 if(t==index)

  16 re++;

  17 else

  18 re+=2;

  19 b++;

  20 t--;

  21 }

  22 return re;

  23 }

  24

  25 //回文长度是奇数个

  26 int getMidoneNum(char* s,int length,int index)

  27 {

  28 int re=1;

  29 int t=index-1,b=index+1;

  30 while(t>=0&&b

  31 {

  32 re+=2;

  33 b++;

  34 t--;

  35 }

  36 return re;

  37 }

  38

  39 int getLhw(char* s)

  40 {

  41 int length=strlen(s);

  42 int re=0;

  43 int temp=0;

  44 for(int i=0;i

  45 {

  46 temp=max(getMidoneNum(s,length,i),getMidtwoNum(s,length,i));

  47 if(temp>re)

  48 {

  49 re=temp;

  50 }

  51 }

  52 return re;

  53 }

  54 int main()

  55 {

  56 cout<

  57 getchar();

  58 }

【华为上机题目之最长回文】相关文章:

华为认证体系的介绍03-21

华为的企业文化11-18

华为公司企业文化03-25

excel上机操作考试题「附答案」07-19

华为企业管理中的创新秘诀02-13

2016年华为HCNE解密试题07-19

华为质量管理体系分析06-24

华为人力资源管理案例02-04

EMBA面试常见题目及答案04-12

国学知识竞赛题目04-27