字串距離計算 牛客演算法面試題

2021-10-04 19:03:04 字數 840 閱讀 4893

給定兩個長度相等的,由小寫字母組成的字串s1和s2,定義s1和s2的距離為兩個字串有多少個位置上的字母不相等。

現在牛牛可以選定兩個字母x1和x2,將s1中的所有字母x1均替換成x2。(x1和x2可以相同)

牛牛希望知道執行一次替換之後,兩個字串的距離最少為多少。

示例1複製

"aaa","bbb"
複製

0
牛牛可以將s1中的字元'a'全部替換成字元'b',這樣s1就變成了"bbb",那麼s1和s2的距離就是0
示例2

複製

"aabb","cdef"
複製

3
一種可行的方案是將s1中的字元'a'全部替換成字元'c',那麼s1變成了"ccbb",和s2的距離是3
s1.size() =s2.size()s1.size()=s2.size()

1 \leq s1.size() \leq 5 * 10^41≤s1.size()≤5∗104

s1和s2中的字母均為小寫字母

因為輸入的字串為26個小寫字母組成,主要步驟是將s1中的字元a全部換成b然後求s1與s2的"字串距離",可以維護乙個二維陣列,map[i][j],其中i代表s1中的字元,j代表s2中的字元,遍歷map求出由i替換成j後獲取的最大價值

public int getmindistance (string s1, string s2) 

int minn=integer.max_value;

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

}return minn;

}

牛客網 計算字串的距離

levenshtein 距離,又稱編輯距離,指的是兩個字串之間,由乙個轉換成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。編輯距離的演算法是首先由 科學家levenshtein提出的,故又叫levenshtein distance。ex 字串...

Android面試題(牛客)

1.1.管理乙個平面 這個平面是乙個特殊的記憶體塊 它可以和 android 檢視系統混合 2.管理乙個egl 顯示 它能夠讓 opengl 渲染到乙個平面 3.接受乙個使用者提供的實際顯示的renderer 物件 4.使用乙個專用線程去渲染從而和ui 執行緒解耦 5.支援on demand 和連續...

牛客網(面試題)

每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。hf作為牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的 首先,讓小朋友們圍成乙個大圈。然後,他隨機指定乙個數m,讓編號為0的小朋友開始報數。每次喊到m 1的那個小朋友要出列唱首歌,然後可以在禮品箱中任意的挑選禮...