每日一題 87 字串過濾

2021-06-21 09:05:20 字數 941 閱讀 7658

題目來自網上

題目描述

通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。

要求實現函式: 

void stringfilter(const char *pinputstr, long linputlen, char *poutputstr);

【輸入】 pinputstr: 輸入字串,

linputlen: 輸入字串長度 

【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;

【注意】只需要完成該函式功能演算法,中間不需要有任何io的輸入輸出

舉例:

(1) 輸入:abacacde,輸出:abcde

(2) 輸入:deefd,輸出:def

(3) 輸入:afafafaf, 輸出:af

(4) 輸入:pppppppp,輸出:p

思路:建立乙個雜湊,判斷字元是否出現。 **

#include #include using namespace std;

void stringfilter(const char *pinputstr, long linputlen, char *poutputstr)

; long loutputlen = 0;

memset(narrhash,0,26 * sizeof(int));

for (long i = 0;i < linputlen;i++) }

poutputstr[loutputlen] = '\0';

cout<>inputstr;

stringfilter(inputstr,strlen(inputstr),outputstr);

system("pause");

return 1;

}

每日一題 12 字串壓縮

題目描述 對字串進行rle壓縮,將相鄰的相同字元,用計數值和字元值來代替。例如 aaabccccccddeee,則可用3a1b6c2d3e來代替。輸入描述 輸入為a z,a z的字串,且字串不為空,如aaabccccccddeee 輸出描述 壓縮後的字串,如3a1b6c2d3e 思路 建立乙個變數,...

每日一題 38字串相乘

給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 class solution string a...

每日一題 66 字串的排列

題目來自劍指offer 題目 1 集合元素的全排列,只處理數字全不同的情況 思路 全排列 屬於線性遞迴,遞迴一次確定乙個位置的資料,直到所有位置全被處理為止。注意 1 在確定乙個位置時,由於該位置的資料有多種,因此需要使用for迴圈。2 程式裡面沒有使用臨時陣列,而是通過陣列元素交換的方式獲得該位置...