數組循環移位(從中間某個數開始往後循環到開頭,再到某個數的前一個數)

解釋一下循環移位

就是類似我想把 [1,2,3,4,5,6,7,8] 變成 [4,5,6,7,8,1,2,3] 這樣。

c++

        vector<int> ans;
        int start = 4, n = 8;   //確定數組個數n,和開始位置的數
        for(int i = 1; i < n+1; ++i) {
            ans.push_back(i);
        }
        reverse(ans.begin(), ans.begin() + start);
        reverse(ans.begin(), ans.end());
        reverse(ans.begin(), ans.begin() + n - start);

python

      ans = [1,2,3,4,5,6,7,8]
      start = 4
      fealAns = ans[start :] + ans[: start]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章