leetcode
https://leetcode-cn.com/problems/is-unique-lcci/
最差解法
class Solution {
public boolean isUnique(String astr) {
char[] strArray = astr.toCharArray();
for (int i = 0; i < strArray.length; i++) {
char str = strArray[i];
for (int j = 0; j < strArray.length; j++) {
if (i == j) {
continue;
}
char newstr = strArray[j];
if (str == newstr) {
return false;
}
}
}
return true;
}
}
遍歷次數 n*n
優化解法
class Solution {
public boolean isUnique(String astr) {
char[] strArray = astr.toCharArray();
for (int i = 0; i < strArray.length; i++) {
char str = strArray[i];
for (int j = i + 1; j < strArray.length; j++) {
char newstr = strArray[j];
if (str == newstr) {
return false;
}
}
}
return true;
}
}
第二輪遍歷沒必要從頭開始,遍歷次數
1*(n-1) +2*(n-2) + ... (n-2)*2 + (n-1)*1 + n(n-n)
java
c
參考java