思想:
關鍵是歸納出元素出現位置的公式。
比如 nrows =4 的情形需要下面這樣的分布:
第0行:0 + + 6 + + 12
第1行:1 + 5 7 + 11
第2行:2 4 + 8 10
第3行:3 + + 9
(1)對於 第0行 && 第3行(最後一行):
出現的元素在原串的位置依次是:0,6,12
規律是:0,0+2*nrows-2=6,6+2*nrows-2=12
即後面的每乙個元素的位置都是前面元素位置加上(2*nrows-2)。
(2)對於其餘的行,即中間的所有行:
比如第1行(設行標為i,此時i=2)出現的元素在原串的位置依次是:1,5,7,11
規律是:1,1+2*(nrows-1-i)=5,5+2*i=7,7+2*(nrows-1-i)=11
即後面的元素所在列+1如果是奇數,則下個元素位置則為該位置+2*(nrows-1-i);
如果是偶數,則下個元素位置為該位置+2*i。
當然,往最後的結果串中加元素的話還要看下標是否越界。
class solution
string res = "";
int len = s.length();
for(int i=0; i
數學建模 Excel技巧
在數學建模中,經常用到excel來儲存資料,固然也需要將資料匯入到matlab中。1.首先是讀取excel 要用到xlsread函式,xlsread的返回值有三種形式 numeric xlsread file numeric,txt xlsread file numeric,txt,raw xlsr...
數學,原理,方法,技巧
學校裡學到的東西為什麼沒有用處?主要是學到的東西大部份都有人去實現了。比如資料結構中學做乙個二叉樹。其實在外邊幹活的時候根本不需要。誰會讓你去編寫乙個二叉樹?即使做專案的時候真的有用,大概也有已經實現的類代替了。所以有人說學校裡學到的東西基本沒有用。不過也難怪,因為這些人只是學到了原理或者方法。學校...
LeetCode 數學 解答技巧總結
int reverse int x x 10 return r 在網上看到別人的答案,感覺非常精妙。首先,此解答無需判斷整數的正負,正負數進行加減乘除取餘操作結果都一樣,其次,判斷是否溢位也非常簡單,因為輸入是整數,所以溢位只可能出現在最後一位需要反轉的數字加上去之後,也就是對原整數最高為進行反轉之...