程式一:編寫函式any(s1,s2),將字串s2中的任意字元在字串s1中第一次出現的位置作為結果返回。如果s1中不包含s2中的字元,則返回-1。(標準庫函式strpbrk(其標頭檔案是string.h)具有同樣的功能,但它返回的是指向該位置的指標)
解法一:o(n*m)的時間複雜度,這個簡單
int any(char s1, char s2)
} } return pos;
}
解法二:o(n+m) 的時間複雜度
int any(char *s1, char *s2);
if (s1 == null)
while (*s2 != '\0')
while (s1[i] != '\0')
return -1; // 容易漏掉哦
}
下面看下測試程式:學習學習
#include #include int main(void)
; char *rightstr =
; size_t numlefts = sizeof leftstr / sizeof leftstr[0];
size_t numrights = sizeof rightstr / sizeof rightstr[0];
size_t left = 0;
size_t right = 0;
int passed = 0;
int failed = 0;
int pos = -1;
char *ptr = null;
for(left = 0; left < numlefts; left++)
else
}else
else
else}}
}} printf("\n\ntotal passes %d, fails %d, total tests %d\n",
passed,
failed,
passed + failed);
return 0;
}
程式二:編寫乙個函式rightrot(x,n),該函式返回將x迴圈右移(即從最右端移出的位將從最左端移入)n(二進位制)位後所得到的值
解法一:正常思路
unsigned rightrot(unsigned x, unsigned n)
return x;
}
解法二:很不錯,主要是最後一句,好好領悟
unsigned int rightrot(unsigned int x, unsigned int n)
測試程式:
#include int main(void)
python從0到1 5 字串
1.字串到拼接 前面已經說過了,這也是python中一大特色就是可以直接 進行。例如a i am chinese b 我是中國人 print a b 只需注意拼接只能是字串拼接,如果有其他型別的資料,要用到強制轉換成字串就可以了。2.計算字串長度 通過len 函式實現。例如 str 人生苦短,我用p...
從0開始《九》 字串相關 grep函式的簡單實現
程式一 grep函式的簡單實現 思路 先看流程,其中可用前面的getline實現未處理的行,然後編寫函式strindex s,t 實現該目標,至於列印部分使用printf函式即可 while 還有未處理的行 include define maxline 1000 int getline char l...
02字串包含及相關問題
題目描述 假設這有乙個各種字母組成的字串a,和另外乙個字串b,字串裡b的字母數相對少一些。什麼方法能最快的查出所有小字串b裡的字母在大字串a裡都有?比如,如果是下面兩個字串 string 1 abcdefghlmnopqrs string 2 dcgsrqpo 答案是true,所有在string2裡...