有關字串的筆試題

2021-07-27 11:38:37 字數 2825 閱讀 1061

小總結

1.

//轉換字串格式為原來字串裡的字元+該字元連續出現的個數

//1233422222轉換為1121324125

//思路:兩個vector來存放,乙個存放字元,乙個存放次數

void printchte(string str)

mytime.push_back(time);

mychar.push_back(tmp);

}auto it = mychar.begin();

auto it2 = mytime.begin();

for (it; it != mychar.end(); ++it)

cout

<< endl;

}int main()

2.

//c++中strstr函式的實現,只要再加乙個封裝就好了,大部分功能就是如此

int strstr(string str1, string str2)//判斷str2是不是str1的子串

if (j == len2)

}return -1;

}int main()

cout

<< endl;

return

0;}

3.

//輸入一行字串,找出其中出現的相同且長度最長的字串,輸出它及首字元出現的位置

///abcdeabd

//bcdeabd

//cdeabd

void printchild(string str)

cha.push_back(tmp);

}int local = 0;

int max = 0;

int z = 0;

auto it1 = cha.begin();

for (it1; it1 != cha.end() - 1; ++it1)

if (i > max)}}

for (int i = 0; i < max; ++i)

cout

<< endl;

cout

<< local << endl;

}int main()

4.

//連續子串最多

//先把所有子串找出來

//依次訪問所有子串連續的最大次數,然後比較輸出

int getnum(string str1, string str2)//str2在str1中最多有連續多少個

}i++;

if (time < tim)

}return time;

}void printmaxchild(string str, int len)

cha.push_back(tmp);}}

auto ite = cha.begin();

for (ite; ite != cha.end(); ++ite)

auto it = size.begin();

int max = *it;

int time = 0;//第乙個

int flag = 0;

it++;

for (it; it != size.end(); ++it)

}string s;

auto ite2 = cha.begin();

int i = 0;

while (i < flag)

s = *ite2;

cout

<< "出現最多次數"

<< max << endl;

cout

<< "字串是"

<< s << endl;

}int main()

5.

//求刪除多少個字元能夠得到最大的回文

#include

#include

#include

using

namespace

std;

const

int max = 1001;

int maxlen[max][max]; //最長公共子串行,動態規劃求法

int maxlen(string s1, string s2)

else}}

return maxlen[length1][length2];

}int main()

//利用回文串的特點

string s2 = s;

reverse(s2.begin(), s2.end());

int max_length = maxlen(s, s2);

cout

<< length - max_length << endl;

}return

0;}

6.

快速排序

void fastpai(int

*a, int start, int end)

int first = start;

intlast = end;

int tmp = a[first];

while (first < last)

a[first] = a[last];

while (a[first] <= tmp&&first < last)

a[last] = a[first];

}a[first] = tmp;

fastpai(a, start, first - 1);

fastpai(a, first + 1, end);

}

字串筆試題

1 輸入乙個整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345 思路 依次掃瞄字串,每掃到乙個字元,把之前的得到的數字乘以10再加上當前字元表示的數字。注意 還可能包括 或 表示整數的正負。需要特殊處理 考慮非法輸入 1 判斷指標是否為空 2 輸入的字串可能不是數字的字元,...

陣列字串,企業筆試題

1.輸入整數,輸出字串 include include include define max size 10 int main printf number is d n num return 0 1.輸入字串 輸出其中數字的個數 include include define max size 100...

筆試題集合 字串問題

1.實現字串移位操作,要求時間複雜度為o n 空間複雜度為o 1 思路 由於空間複雜度為o 1 可以知道移位操作只在原字串上面完成。假設c1 c2 c3 c4 ci 1,ci,ci 1 cn字串,low 1,high n,shift i,需要移位的字串長度為high low 1 向左移位i位時,有三...