iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
0

題目:

https://leetcode.com/problems/rotate-array/
一個陣列將其向右旋轉k步,並回傳結果。

解題思路:

利用2個for迴圈,裡面那個迴圈負責移動紀錄則外面的負責移動次數。

C版本:

void rotate(int* nums, int numsSize, int k) {
    int tem;
    for(int j=0;j<k;j++)
    {
        tem=nums[numsSize-1];
        for(int i=numsSize-2;i>=0;i--)
            nums[i+1]=nums[i];
        nums[0]=tem;
    }
}

Javascript版本:

var rotate = function(nums, k) {
    for (var rounds = 0; rounds < k; rounds++) {
        var last = nums[0];
        for (var i = 0; i < nums.length - 1; i++) {
            var tmp = nums[i + 1];
            nums[i + 1] = last;
            last = tmp;
        }
        nums[0] = last;
    }
};

時間複雜度為: O(nxn)

程式Github分享:

https://github.com/SIAOYUCHEN/leetcode

相似主題分享:

https://ithelp.ithome.com.tw/users/20100009/ironman/2500
https://ithelp.ithome.com.tw/users/20113393/ironman/2169
https://ithelp.ithome.com.tw/users/20107480/ironman/2435
https://ithelp.ithome.com.tw/users/20107195/ironman/2382
https://ithelp.ithome.com.tw/users/20119871/ironman/2210
https://ithelp.ithome.com.tw/users/20106426/ironman/2136

本日分享:

To think more about others advantage is the best choice for you to grow.
多去思考別人的好,才是讓自己成長的最好選擇。


上一篇
DAY13 Two Sum II - Input array is sorted
下一篇
DAY15 Swap Nodes in Pairs
系列文
刷題記錄與人生分享34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言