leetcode關(guān)于數(shù)組的題目

leetcode66 Plus One
Given a non-negative integer represented as a **non-empty **array of digits, plus one to the integer.You may assume the integer does not contain any leading zero, except the number 0 itself.The digits are stored such that the most significant digit is at the head of the list.
該題目的意思是將一個(gè)數(shù)字用一個(gè)一維向量來進(jìn)行表示兽间,將 該數(shù)字進(jìn)行加一开财,輸出菲饼。在此宝踪,強(qiáng)調(diào)一點(diǎn)峡竣,一維向量的每一個(gè)元素僅僅表示數(shù)字的一位,即向量元素的值只能取0-9稚机。所以只需要判斷每一位是否為9慷彤,如果是9 ,則置0结窘,否則很洋,該位加1,然后返回即可隧枫。比如該數(shù)字為1099喉磁,從末尾開始置0谓苟,依次為1100。如果條件結(jié)束线定,則在開始處加1娜谊,例如999,000斤讥,然后在開始位置加1纱皆,為1000.
代碼如下:

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) 
    {
        int i;
        for(i=digits.size()-1;i>=0;i--)
        {
            if(digits[i]!=9)
            {
                digits[i]++;
                return digits;
            }
            else
            {
                digits[i]=0;
            }
        }
        if(i<0)
        {
            digits.insert(digits.begin(),1);
            
        }
        return digits;
        
    }
};

leetcode27. Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.The order of elements can be changed. It doesn't matter what you leave beyond the new length.
Example:
Given input array nums = [3,2,2,3], val = 3
Your function should return length = 2, with the first two elements of nums being 2.
解題思路:
題目的意思是去除數(shù)組中和給定值相同的元素,并返回?cái)?shù)組新的長度芭商,這個(gè)題目可以采用雙指針來做派草,i,j,i遍歷數(shù)組元素,如果當(dāng)前元素和給定的值不相等铛楣,則將當(dāng)前元素賦給j,j++;最后數(shù)組的長度即為j;
代碼:

class Solution {
public:
    int removeElement(vector<int>& nums, int val) 
    {
        int ret=0;
        for(int i=0;i<nums.size();i++)
        {
            if(nums[i]!=val)
            {
                nums[ret]=nums[i];
                ret++;
            }
        }
        return ret;
        
    }
};

leetcode561. Array Partition I
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.
解題思路:給定一個(gè)數(shù)組近迁,配對后,使得每對的最小值的和最大簸州,比如給定數(shù)組為[1鉴竭,2,3岸浑,4]搏存,那么[1,2],[3,4]配對后,最大值為1+3=4矢洲;我們采用貪心算法璧眠,每次找最小的兩個(gè)數(shù)配對。代碼如下:

class Solution {
public:
    int arrayPairSum(vector<int>& nums) 
    {
        sort(nums.begin(),nums.end());
        int ret=0;
        for(int i=0;i<nums.size();i=i+2)
        {
            ret=ret+nums[i];

        }
        return ret;
        
    }
};

leetcode414.Third Maximum Number
Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).
Example 1:
Input: [3, 2, 1]
Output: 1
Explanation: The third maximum is 1.
Example 2:
Input: [1, 2]
Output: 2
Explanation: The third maximum does not exist, so the maximum (2) is returned instead.
Example 3:
Input: [2, 2, 3, 1]
Output: 1
Explanation: Note that the third maximum here means the third maximum distinct number.Both numbers with value 2 are both considered as second maximum.
解題思路:
給定一個(gè)數(shù)組责静,求該數(shù)組的第三大數(shù),如果第三大數(shù)不存在盖桥,返回最大數(shù)灾螃,在這里注意,不是大于等于葱轩,比如例子三睦焕,最大數(shù)為3,第二大數(shù)為2靴拱,第三大數(shù)為1垃喊;重復(fù)元素不考慮⊥嗫唬可以設(shè)三個(gè)數(shù)本谜,分別代表最大值,第二大值偎窘,第三大值乌助,依次遍歷元素溜在,如果元素大于最大值,則將該元素賦給最大值他托,并修改第二大元素和第三大元素掖肋。以此類推。代碼如下:

class Solution {
public:
    int thirdMax(vector<int>& nums) 
    {
         long first = LONG_MIN, second = LONG_MIN, third = LONG_MIN;
         for(int i=0;i<nums.size();i++)
         {
             if(nums[i]>first)
             {
                 third=second;
                 second=first;
                 first=nums[i];
             }
             else
             {
                 if(nums[i]>second&&nums[i]<first)
                 {
                     third=second;
                     second=nums[i];
                 }
                 else
                 {
                     if(nums[i]>third&&nums[i]<second)
                     {
                         third=nums[i];
                     }
                 }
             }
         }
         if(third==LONG_MIN)
         {
             return first;
         }
         return third;
        
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赏参,一起剝皮案震驚了整個(gè)濱河市志笼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌把篓,老刑警劉巖纫溃,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異韧掩,居然都是意外死亡紊浩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門疗锐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坊谁,“玉大人,你說我怎么就攤上這事滑臊∥卦” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵简珠,是天一觀的道長。 經(jīng)常有香客問我虹钮,道長聋庵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任芙粱,我火速辦了婚禮祭玉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘春畔。我一直安慰自己脱货,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布律姨。 她就那樣靜靜地躺著振峻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪择份。 梳的紋絲不亂的頭發(fā)上扣孟,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音荣赶,去河邊找鬼凤价。 笑死鸽斟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的利诺。 我是一名探鬼主播富蓄,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼慢逾!你這毒婦竟也來了立倍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤氛改,失蹤者是張志新(化名)和其女友劉穎帐萎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胜卤,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疆导,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了葛躏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澈段。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖舰攒,靈堂內(nèi)的尸體忽然破棺而出败富,到底是詐尸還是另有隱情,我是刑警寧澤摩窃,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布兽叮,位于F島的核電站,受9級(jí)特大地震影響猾愿,放射性物質(zhì)發(fā)生泄漏鹦聪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一蒂秘、第九天 我趴在偏房一處隱蔽的房頂上張望泽本。 院中可真熱鬧,春花似錦姻僧、人聲如沸规丽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赌莺。三九已至,卻和暖如春松嘶,著一層夾襖步出監(jiān)牢的瞬間雄嚣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缓升,地道東北人鼓鲁。 一個(gè)月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像港谊,于是被迫代替她去往敵國和親骇吭。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)歧寺。 張土汪:刷leetcod...
    土汪閱讀 12,743評論 0 33
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理燥狰,服務(wù)發(fā)現(xiàn),斷路器斜筐,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 2017-07-6 晴 藍(lán)天 今天出門已經(jīng)過了7點(diǎn)龙致,未曾快走到水庫,心里開始嘀咕顷链,也許今天看不到燕子了吧目代?平常這些...
    春回大地春玲閱讀 151評論 0 1
  • 當(dāng)你和自己身邊的兄弟,朋友嗤练,離開了榛了,分開了,過了很久煞抬,聯(lián)系聯(lián)系漸漸少了霜大。突然有一天,他來信息了:兄弟革答,借我點(diǎn)錢战坤,我...
    2b22aebd5cce閱讀 290評論 0 0
  • 望云慚高鳥,臨水愧游魚残拐。淵明詩句湖笨,省吾淡墨書之。
    江省吾閱讀 292評論 0 0