一些比較簡單的演算法

2021-07-11 00:11:23 字數 1034 閱讀 3923

今天被提起,發現很多細節,都是演算法啊,我居然以前都沒注意到,唉,笨人,多做點筆記為好

***對於交換兩個數:

既然是演算法,自認不能用乙個變數來當中介,這樣空間複雜度就相對高。

/**

* 通過算術運算交換

* @param a

* @param b

*/public void exchangetwonumbyarithmetic(int a, int b)

/*** 通過位運算交換,效率最高,因為位操作屬於原子操作

*********統計字元中26個字母的個數

/**

* 統計乙個字串26個字母的數量,但是不區分大小寫

* * 這個演算法,的空間複雜度應該是較優的常數,時間複雜度為o(n)

* 主要覺得這個演算法不需要去比較字元來判斷結果

********乙個字串配對乙個子串(kmp演算法)

********字串雜湊演算法:

*********百錢百雞問題:

/**

* 乙隻公雞5$,一直母雞3$,一直小雞1$

* 求100快錢能買雞的所有情況

*/public void buychicken()

} }

NOIP2018 提高組題解(比較簡單的一些思路)

day1 三道原題祭 t1 區間減法不難想到差分。差分完之後手動模擬一下發現就是把差分陣列中的證書加起來就好了,時間複雜度o n o n o n t2 有乙個非常顯然的性質 簡化後的貨幣系統一定是原本的貨幣系統的子集。所以從小到大判斷是否能被比當前這個數小的陣列成就好了,這個可以直接用揹包實現。t3...

一些簡單的演算法

氣泡排序,比如你有五個數 3 4 2 1 0 其原理就是用沒個數和 其他數進行比較 下面我們來書寫每一輪的數值 第一輪 3 4 2 得出佇列 2 4 3 1 0 2 1 0 得出佇列 1 4 3 2 0 得出佇列 0 4 3 2 1 第二輪 4 3 得出佇列 0 3 4 2 1 3 2 1 得出佇列...

比較簡單的拆詞查詢

if not object id keywordtable is null drop table keywordtable create table dbo.keywordtable id int identity 1,1 not null,primary key id num int not nu...