實習演算法彙總(一)

2021-10-01 23:19:00 字數 1111 閱讀 7982

一:求集合的所有子集

可採用迭代法進行相應的求解

如原始的集合為(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 快速擴充套件隨機...