日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算最长公共数字串个数

發布時間:2025/5/22 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算最长公共数字串个数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.華為OJ題目(計算最長公共數字個數)

?

樣例輸出

輸出123058789,函數返回值9

輸出54761,函數返回值5

?

接口說明

函數原型:

???unsignedint?Continumax(char**?pOutputstr,??char*?intputstr)

輸入參數:
???char*?intputstr??
輸入字符串;

輸出參數:
???char**?pOutputstr:?
連續最長的數字串,如果連續最長的數字串的長度為0,應該返回空字符串;如果輸入字符串是空,也應該返回空字符串;??

返回值:
??
連續最長的數字串的長度

1.1

出錯原因:

未對字符串指針初始化,使用了未初始化的指針;

1>?? f:\vstuio\project\applicacommonstr\applicacommonstr\sssr.cpp(44):warning C4700: 使用了未初始化的局部變量“p2

2>?? 修改如下:

3>?? p2=new char[128];

4>?? ????for(int j=0;j<128;j++)

5>?? ??????????????? p2[j]=0;

6>?? 結果成功通過編譯!

1.2代碼如下:

?

<pre name="code" class="cpp">#include <iostream> #include <string> #include <vector> using namespace std; int main() {int max_num(char **poutstr, char *input);int num, length;char **p = new char*[128];char *str=new char[128];p[0]="";cin.get(str, 128, '\n');length = strlen(str);num = max_num(p, str);if(p[0]!="")cout << *p << ',' << num << endl;elsecout << 0 << endl;delete [] str;delete [] p;return 0; }int max_num(char **poutstr, char *input) {char *p1=input, *p2, temp[128]={0};int len = strlen(input), cnt=0, res = 0;//注意,以下是p2初始化,很重要,沒有這步編譯器將報警和出錯p2=new char[128];for(int j=0;j<128;j++)p2[j]=0;if (len<1){p2 = "";return 0;}for (int i = 0; i<len; i++){if (p1[i] <= '9'&&p1[i] >= '0'){temp[cnt++] = p1[i];if (cnt>res){res = cnt;for (int k = 0; k<cnt; k++)p2[k] =temp[k];}}else{cnt = 0;}}if (res == 0)p2 = "";*poutstr = p2;return res; }

總結

以上是生活随笔為你收集整理的计算最长公共数字串个数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。