貌似有人會看,就貼一下。這個演算法只用了乙個while迴圈就可以全部複製,效率上應該比那些很多for迴圈的好些。
所謂迴旋數,就是下面這樣
3的迴旋數
13 12 11 10 9
//迴旋矩陣
public static void main(string args) }
/***
* 回形賦值,重點是控制賦值時候x,y的轉換。分四種情況,左到右賦值,上到下賦值,
* 右到左賦值,下到上賦值。有點是只要一次賦值,沒有太多的for迴圈,
* * @param n
*/public void huixuan(int n)else
break;
case 2:
if(con == rowcon) else i++;
break;
case 3:
if(con == lincon) else j--;
break;
case 4:
if(con == rowcon) else i--;
break;}}
for (i =0 ;i < n;i++){
for(j=0;j
迴旋數的求解
迴旋數就是從中間的1開始然後圍繞著這個1,按自然數的增長形式迴旋1,如 1 解決的的思路 a 首先得到這個數的基數 即每一環開始的數 b 然後得到其座標所屬第幾排,c 再次計算其位於這一排的位置,d 最後算出結果。2 針對個步驟所需要的程式設計指南 a 需要知道他前面的總數,設定了乙個遞迴函式來求出...
程序排程演算法實現(自己寫的)
資料 程序,佇列結構 處理流程 1 初始化 程序佇列結構 包括 就緒佇列,等待佇列,執行佇列 等必要的資料結構 init 2 進入無限迴圈,反覆排程佇列 define max 5 include include int total time 20 int time slice 3 typedef s...
LeetCode 2 兩數相加(自己寫的)
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...