程式設計挑戰 交替字串,僅供參考

2021-06-21 22:24:44 字數 1525 閱讀 9211

package com.zq.challenge;

/** * 如果字串str3能夠由str1和str2中的字元按順序交替形成,那麼稱str3為str1和str2的交替字串。

* 例如str1="abc",str2="def",那麼"adbecf", "abcdef", "abdecf", "abcdef", "adefbc"等等都為

* str1和str2的交替字串。更形式化的,str3的生成演算法如下: str3="" while str1不為空 or str2不為空:

* 把str1或str2的首字元加入到str3,並從str1或str2中刪除相應的字元 end 給定str1, str2,和str3,

* 判斷str3是否為str1和str2的交替字串。 輸入格式: 多組資料,每組資料三行,分別是str1,str2,str3。str1,

* str2的長度在[1..100]範圍內,str3的範圍在[1..200]範圍內。字串只包含小寫英文本母。 輸出格式:

* 每組資料輸出一行yes或者no。

* @author kk

* */

public class changestrtest

public static boolean judgeintersect(string str1,string str2, string str3)

char str1array = str1.tochararray();

char str2array = str2.tochararray();

char str3array = str3.tochararray();

return judgeinterset(str1array,str2array,str3array,0,str1array.length-1,0,str2array.length-1,0,str3array.length-1);

} public static boolean judgeinterset(char str1array, char str2array, char str3array,

int str1start, int str1end,

int str2start, int str2end,

int str3start, int str3end)else

}return true;

}}else if(str2start > str2end)else

}return true;

}}

if(str1end-str1start + str2end - str2start+1 != str3end - str3start)

if(str1array[str1start] == str2array[str2start])

}else if(str1array[str1start] == str3array[str3start])else if(str2array[str2start] == str3array[str3start])

return false; }

}

交替字串

題目 如果字串str3能夠由str1和str2中的字元按順序交替形成,那麼稱str3為str1和str2的交替字串。例如str1 abc str2 def 那麼 adbecf abcdef abdecf abcdef adefbc 等等都為str1和str2的交替字串。更形式化的,str3的生成演算...

程式設計師都必須遵守的程式設計原則 僅供參考

好的程式設計原則跟好的系統設計原則和技術實施原則有著密切的聯絡。下面的這些程式設計原則在過去的這些年裡讓我成為了一名優秀的程式設計師,這些原則對任何乙個開發人員來說,都能讓他的程式設計能力大幅度的提高,能讓他開發出可維護性更強 缺陷更少的程式。不要自我重複 這也許是在程式設計開發這最最基本的乙個信條...

挑戰面試程式設計 字串替換

挑戰面試程式設計 字串替換 寫乙個字串替換函式,如母串 123123123123 把母串中的子串 123 替換為 12345 或者 12 思路 利用庫函式strstr 定位子串。使用strcpy 進行替換。不斷重複著定位和替換操作,直到定位到null為止。操作示意圖 開始新一輪的定位 示例 incl...