667. 优美的排列 II
1 - n
p = 1, q = n
奇数次选q, q++;
偶数次选p, p--;
直到选了k个数,此时相邻差的绝对值不同个数为k - 1
那么接下来该选的数,将按照上次选的方向直接选就行,也就是剩下的差的绝对值都为1
class Solution { public: vector<int> constructArray(int n, int k) { vector<int> v; int p = 1, q = n; int cnt = 1; while(p <= q) { if(cnt <= k) { if(cnt & 1) v.push_back(p), p++; else v.push_back(q), q--; cnt++; } else { if(cnt & 1) v.push_back(q), q--; else v.push_back(p), p++; } } return v; } };
自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。