plus one
我的思路:
1 自然是從後面開始判斷,如果是9那麼就要進製變成0,依次後面都要改變,直到不是9為止,返回陣列。如果全部是9,那麼就要把第乙個數變成1,接著每個數變成0,然後再新增乙個0。
貼出**如下,
vectoraddonedigits = digits;
vector::iterator i;
for (i = addonedigits.begin(); i != addonedigits.end(); i++) }}
}//這一大段**可以用乙個vector的插入來完成 addonedigits.insert(addonedigits.begin(), 1)
if (i == addonedigits.end())
return addonedigits;
最近剛開始做這些題,發現自己的思路還是非常混亂,沒有什麼邏輯性可言,每做一題要盡量能夠有一些的提公升。下面是修改**。
vectoraddonedigits = digits;
vector::iterator i;
for (vector::iterator i = addonedigits.end() - 1; i >= addonedigits.begin(); --i)
} addonedigits.insert(addonedigits.begin(), 1);
return addonedigits;
今天遇到的兩題主要的思維是:
1 逆向解決問題,通過迴圈來做到不滿足條件的時候跳過我們要執行的**。如陣列元素去重。
今天兩題到此結束。
Block Voting 解題報告
這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...
Safebreaker 解題報告
又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...
路由 解題報告
路由 問題描述 有乙個tcp ip網路 每台計算機都有乙個或多個網路介面。每個介面根據它的ip位址和子網掩碼來識別 即兩個4位元組的數,兩個字 節之間有乙個 號.子網掩碼有乙個二進位制表示法 有k個 1 然 後是 m 個 0 k m 8 4 32 如 212.220.35.77 是乙個 ip 地 址...