原创 二維對數器

#include<iostream> #include<cstdlib> #include<ctime> #include<vector> #include<algorithm> #include<stack> using nam

原创 01.斐波那契數列

文章目錄1.解析2.複雜度分析3.代碼 1.解析 第一反應動態規劃,時間複雜度必然是O(N),現在有個辦法能把時間複雜度變爲O(logN),我不確定這種辦法能不能用在其它動態規劃上。遞推毫無爭議,公式如下: F(N)=F(N−1)

原创 05快速排序(不穩定)

在一個序列中用隨機數找一個位置,將這個位置同序列中最後一個位置交換,以這個數爲哨兵,將序列分爲三個區:小於哨兵、等於哨兵、大於哨兵。再分別將小於哨兵和大於哨兵的區域遞歸分配。 代碼分爲partition部分和quicksort部分

原创 01.冒泡(穩定)

從左至右來回換,最大的數冒泡最右側,所以第一個for就是確定最右側的邊界,第二個for就是來回換,換到最大的數爲止。 穩定性:穩定 時間複雜度:穩定的O(n^2) 空間複雜的:穩定的O(1) 對數器已證。 bool bubble(

原创 01.小和問題

這個問題就是每個數左側比它小的數的和叫做這個數的小和。求這個數組的小和。第一反應肯定是兩個for,這道題有別的思路:對於每個數而言,可以求右側有幾個數比這個數大,有n個,就把這個數乘以n。所以用歸併的思想,如果兩側都排好序了,我只

原创 02選擇排序(不穩定)

用哨兵記住值最大的位置,和最右邊的換位置。 排序的順序是從右到左,找最大數的時候是從左到右。 穩定性:不穩定。5225,a[0]和a[2]換的時候就不穩定了。 時間複雜度:穩定的O(n^2) 空間複雜的:穩定的O(1) 對數器已證

原创 1143. 最長公共子序列Longest Common Subsequence

這個寫的人太多了,我就不寫了,直接貼個代碼給自己看,basecase習慣性的把兩個邊也寫了出來,其實可以在裏面填表中完成 int longestCommonSubsequence(string s1, string s2) {

原创 583. Delete Operation for Two Strings

我開始還以爲是最長公共子串,結果在字符串中間也可以刪除字符,那就變成了最長公共子序列了。上一篇有的。 class Solution { public: int xwa(string s1, string s2) {

原创 01.共識機制

正在學習區塊鏈,如果我哪裏有錯誤希望大家指出,如果有任何想法也歡迎留言。這些筆記本身是在typora上寫的,如果有顯示不正確的敬請諒解。筆記本身也是給我自己寫的,所以如果有侵權的請通知我,我立即刪除。 文章目錄1.共識機制的目的2

原创 以太坊之七挖礦難度調整

正在學習區塊鏈,如果我哪裏有錯誤希望大家指出,如果有任何想法也歡迎留言。這些筆記本身是在typora上寫的,如果有顯示不正確的敬請諒解。筆記本身也是給我自己寫的,所以如果有侵權的請通知我,我立即刪除。 7.挖礦難度調整 7.1 挖

原创 以太坊之八權益證明

正在學習區塊鏈,如果我哪裏有錯誤希望大家指出,如果有任何想法也歡迎留言。這些筆記本身是在typora上寫的,如果有顯示不正確的敬請諒解。筆記本身也是給我自己寫的,所以如果有侵權的請通知我,我立即刪除。 8.權益證明 8.1 權益證

原创 比特幣十一之我的問題

正在學習區塊鏈,如果我哪裏有錯誤希望大家指出,如果有任何想法也歡迎留言。這些筆記本身是在typora上寫的,如果有顯示不正確的敬請諒解。筆記本身也是給我自己寫的,所以如果有侵權的請通知我,我立即刪除。 11.我的問題 11.1 盜

原创 22.括號生成

文章目錄1.題目2.解題3.代碼 1.題目 給出 n 代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的並且有效的括號組合。 例如,給出 n = 3,生成結果爲: [ "((()))", "(()())", "(())(

原创 比特幣之十 Q&A

正在學習區塊鏈,如果我哪裏有錯誤希望大家指出,如果有任何想法也歡迎留言。這些筆記本身是在typora上寫的,如果有顯示不正確的敬請諒解。筆記本身也是給我自己寫的,所以如果有侵權的請通知我,我立即刪除。 文章目錄10. Q&A10.

原创 以太坊之一以太坊賬戶的特點

正在學習區塊鏈,如果我哪裏有錯誤希望大家指出,如果有任何想法也歡迎留言。這些筆記本身是在typora上寫的,如果有顯示不正確的敬請諒解。筆記本身也是給我自己寫的,所以如果有侵權的請通知我,我立即刪除。 文章目錄1.賬戶以以太坊的特