一:求集合的所有子集
可採用迭代法進行相應的求解
如原始的集合為(a,b,c) 則第一次的迭代為
(a)第二迭代為
(a,ab,b)
第三次迭代為
(a,ab,b,ac,abc,bc,c)
每次迭代,都是上一次迭代的結果+上次迭代結果中每個元素加上當前迭代的元素+當前迭代的元素
上一次迭代的結果為a,上次迭代結果每個元素加當前迭代的元素為ab,當前迭代的元素為b
組成就是(a,ab,b)
**為:
/**
* 求集合的所有子集 可根據需求進行相應的擴充套件
* @author zkc
* @version 1.0
* */
public class sublist
arraylistlist = new arraylist<>();
list.add(str.substring(0,1));
for(int i = 1 ; i < str.length() ; i++)
list.add(str.substring(i,i+1));
}return list ;
}}時間複雜度為o(2^n)
2.比較兩個數的大小,不使用》,<,if語句,更加簡便
/**
* 比較兩個數的大小,不使用》,<,if語句
* @author zkc
* @version 1.0
* */
public class specialequalnumber
}
3.判斷陣列是否有重複元素 通過hash定位法,從而不用暴力破解,比如迴圈兩遍陣列,比較是否有arr[i] == arr[j]
/**
* 判斷陣列是否有重複元素,通過hash法
* @author zkc
* @version 1.0
* */
public class hashfindrepeatele
map.put(i,true);
}return false;
}
2019校招實習筆試彙總
mark下遇到的筆試題吧 招行演算法 同學遇到的題,筆試後交流了下思路,由於a範圍比較小,所以可以暴力 搜尋剪枝 加用集合和字典優化。複雜度大概o n logn 有n種不同的化學試劑。第i種有ai公升。每次實驗都要把所有的化學試劑混在一起,但是這些試劑的量一定要相等。所以現在的首要任務是把這些化學試...
若干排序演算法簡單彙總 一
從題目看,首先不是全部是若干。排序演算法很多,我個人的能力也有限,不可能都講到。另外,是簡單彙總,是希望能用最簡單的 最簡短的語言說明問題,不搞太多理論分析。就像前面說的,排序演算法有很多,而且不存在哪一種最不好,哪一種最好這樣的說法。根據用途不同選擇最適合的就行了。不過僅從時間複雜度來看,基本上有...
路徑規劃演算法 彙總(一)
搜尋演算法主要包括遍歷式和啟發式兩種 其中dijkstra演算法屬於傳統的遍歷式,a 演算法屬於啟發式 一般來說遍歷式演算法可以取得全域性最優解,但是計算量大,實時性不好 啟發式演算法結合了遍歷式演算法以及最佳優先演算法的優點,具有計算小 收斂快的特點。主要包括蟻群演算法以及rrt 快速擴充套件隨機...