成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

1089-復(fù)寫零

pinecone / 1266人閱讀

摘要:前言的復(fù)寫零給你一個長度固定的整數(shù)數(shù)組,請你將該數(shù)組中出現(xiàn)的每個零都復(fù)寫一遍,并將其余的元素向右平移。注意請不要在超過該數(shù)組長度的位置寫入元素。

前言

Weekly Contest 141的 復(fù)寫零:

給你一個長度固定的整數(shù)數(shù)組 arr,請你將該數(shù)組中出現(xiàn)的每個零都復(fù)寫一遍,并將其余的元素向右平移。

注意:請不要在超過該數(shù)組長度的位置寫入元素。

要求:請對輸入的數(shù)組 就地 進(jìn)行上述修改,不要從函數(shù)返回任何東西。

示例1:

輸入:[1,0,2,3,0,4,5,0]
輸出:null
解釋:調(diào)用函數(shù)后,輸入的數(shù)組將被修改為:[1,0,0,2,3,0,0,4]

示例2:

輸入:[1,2,3]
輸出:null
解釋:調(diào)用函數(shù)后,輸入的數(shù)組將被修改為:[1,2,3]

提示:

1 <= arr.length <= 10000

0 <= arr[i] <= 9

解題思路

本題十分簡單,需要注意本題是一個原地算法,所以使用雙指針法進(jìn)行變量交換即可。大致邏輯如下:

遍歷數(shù)組元素

當(dāng)前元素為0時,下一個元素賦值為0,并對數(shù)組進(jìn)行左移,下一次遍歷當(dāng)前元素后2位的元素。否則正常遍歷數(shù)組。

實現(xiàn)代碼
    /**
     * 1089. 復(fù)寫零
     * @param arr
     */
    public void duplicateZeros(int[] arr) {
        for (int i = 0; i < arr.length - 1;) {
            if (arr[i] == 0) {// 當(dāng)前元素為0
                // 記錄下一個元素的值
                int next = arr[i + 1];
                // 將下一個元素設(shè)為0
                arr[i + 1] = 0;
                for (int j = i + 2; j < arr.length; j++) { // 從當(dāng)前索引后的第二個元素開始交換
                    int tmp = arr[j]; // 記錄當(dāng)前變量
                    arr[j] = next; // 將前一個位置的元素值賦給當(dāng)前元素
                    next = tmp; // next指針記錄當(dāng)前元素
                }
                i+=2; // 下一次遍歷的是當(dāng)前元素后2位的元素
            }else{
                ++i; // 正常遍歷
            }
        }
    }

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77775.html

相關(guān)文章

  • 70道前端LeetCode題目集合及視頻講解(持續(xù)更新中...)

    前端LeetCode刷題 下面是已刷的題目的目錄。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,歡迎關(guān)注。 數(shù)組類 26 刪除排序數(shù)組中的重復(fù)項 27 移除元素 35 搜索插入位置 66 加1 80 medium 刪除排序數(shù)組中的重復(fù)項2 88 合并兩個有序數(shù)組 167 兩數(shù)之和II - 輸入有序數(shù)組 118 楊輝三角 169 easy 求眾數(shù) 1...

    mayaohua 評論0 收藏0
  • Tornado 4.3文檔翻譯: web框架-RequestHandler和Application

    摘要:譯者說于年月日發(fā)布,該版本正式支持的關(guān)鍵字,并且用舊版本編譯同樣可以使用這兩個關(guān)鍵字,這無疑是一種進(jìn)步。其次,這是最后一個支持和的版本了,在后續(xù)的版本了會移除對它們的兼容。本節(jié)最好直接在或者閱讀,以獲得更好的閱讀體驗格式支持。 譯者說 Tornado 4.3于2015年11月6日發(fā)布,該版本正式支持Python3.5的async/await關(guān)鍵字,并且用舊版本CPython編譯Torn...

    xiongzenghui 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<