LeetCode

2021-03-02 MyCode

許久沒更新了,這回放上4道力扣的題吧

1480. 一維數組的動態和

連結:https://leetcode-cn.com/problems/running-sum-of-1d-array/

給你一個數組 nums 。數組「動態和」的計算公式為:runningSum[i] = sum(nums[0]…nums[i])請返回 nums 的動態和

示例 1:

輸入:nums = [1,2,3,4]
輸出:[1,3,6,10]
解釋:動態和計算過程為 [1, 1+2, 1+2+3, 1+2+3+4] 。

示例 2:

輸入:nums = [1,1,1,1,1]
輸出:[1,2,3,4,5]
解釋:動態和計算過程為 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。

示例 3:

輸入:nums = [3,1,2,10,1]
輸出:[3,4,6,16,17]

int* runningSum(int* nums, int numsSize, int* returnSize){
    if(numsSize == 0)
    {
        *returnSize = 0;
        return NULL;
    }
    for(int i = 1; i < numsSize; i++)
    {
        nums[i] = nums[i - 1] + nums[i];
    }
    *returnSize = numsSize;
    return nums;
}

1431. 擁有最多糖果的孩子

連結:https://leetcode-cn.com/problems/kids-with-the-greatest-number-of-candies/

給你一個數組 candies 和一個整數 extraCandies ,其中 candies[i] 代表第 i 個孩子擁有的糖果數目對每一個孩子,檢查是否存在一種方案,將額外的 extraCandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意,允許有多個孩子同時擁有 最多 的糖果數目。

示例 1:

輸入:candies = [2,3,5,1,3], extraCandies = 3
輸出:[true,true,true,false,true]
解釋:
孩子 1 有 2 個糖果,如果他得到所有額外的糖果(3個),那麼他總共有 5 個糖果,他將成為擁有最多糖果的孩子。
孩子 2 有 3 個糖果,如果他得到至少 2 個額外糖果,那麼他將成為擁有最多糖果的孩子。
孩子 3 有 5 個糖果,他已經是擁有最多糖果的孩子。
孩子 4 有 1 個糖果,即使他得到所有額外的糖果,他也只有 4 個糖果,無法成為擁有糖果最多的孩子。
孩子 5 有 3 個糖果,如果他得到至少 2 個額外糖果,那麼他將成為擁有最多糖果的孩子。

示例 2:

輸入:candies = [4,2,1,1,2], extraCandies = 1
輸出:[true,false,false,false,false]
解釋:只有 1 個額外糖果,所以不管額外糖果給誰,只有孩子 1 可以成為擁有糖果最多的孩子。

示例 3:

輸入:candies = [12,1,12], extraCandies = 10
輸出:[true,false,true]

bool* kidsWithCandies(int* candies, int candiesSize, int extraCandies, int* returnSize)
{
    if(candiesSize==0)
    {
        *returnSize=0;
        return NULL;
    }
    bool *test=(bool*)malloc(candiesSize*sizeof(bool));
    int max=0;
    for(int i=0;i<candiesSize;i++)
    {
        max=max>=candies[i]?max:candies[i];
        candies[i]+=extraCandies;
    }
    for(int i=0;i<candiesSize;i++)
    {
        test[i]=(max<=candies[i]);
    }
    *returnSize=candiesSize;
    return test;
}

1.兩數之和

連結:https://leetcode-cn.com/problems/two-sum/

給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 的那 兩個 整數,並返回它們的數組下標。

你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素不能使用兩遍。

你可以按任意順序返回答案。

示例 1:

輸入:nums = [2,7,11,15], target = 9
輸出:[0,1]
解釋:因為 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

輸入:nums = [3,2,4], target = 6
輸出:[1,2]

示例 3:

輸入:nums = [3,3], target = 6
輸出:[0,1]

class Solution
{
    public:
        vector<int> twoSum(vector<int>& nums, int target)
        {
            vector<int> result;
            for ( int i = 0; i < nums.size ( ); i++ )
            {
                for ( int j = i + 1; j < nums.size ( ); j++ )
                {
                    if ( nums [ i ] + nums [ j ] == target )
                    {
                        result.push_back ( i );
                        result.push_back ( j );
                        goto done;
                    }
                }
            }
        done:
            return result;
        }
};

7. 整數反轉

連結:https://leetcode-cn.com/problems/reverse-integer/

給你一個 32 位的有符號整數 x ,返回 x 中每位上的數字反轉後的結果。

如果反轉後整數超過 32 位的有符號整數的範圍  ,就返回 0。

假設環境不允許存儲 64 位整數(有符號或無符號)。

示例 1:

輸入:x = 123
輸出:321

示例 2:

輸入:x = -123
輸出:-321

示例 3:

輸入:x = 120
輸出:21

示例 4:

輸入:x = 0
輸出:0

class Solution
{
    public:
        int reverse(int x)
        {
            vector<int> v;
            long long int result = 0;
            while ( x != 0 )
            {
                v.push_back ( x % 10 );
                x /= 10;
            }
            vector<int>::iterator it = v.begin ( );
            while ( !v.empty ( ) )
            {
                result += v.front ( ) * pow ( 10 , v.size ( ) - 1 );
                v.erase ( it );
            }
            if ( result > INT_MAX || result < INT_MIN )
            {
                return 0;
            }
            else
            {
                return ( int )result;
            }
        }
};

力扣我也是剛開始寫,解題也是不太完美

時間複雜度和空間複雜度雖說學完了數據結構,感覺遇到這些題還是不太會算

後面再加強吧

相關焦點

  • Go 實現 LeetCode 全集
    Water - https://leetcode.com/problems/container-with-most-water/Binary[X] Sum of Two Integers - https://leetcode.com/problems/sum-of-two-integers/[X] Number of 1 Bits - https://leetcode.com
  • LeetCode Weekly Contest 224 題解
    Number Of Rectangles That Can Form The Largest Square題目連結:https://leetcode.com/problems/number-of-rectangles-that-can-form-the-largest-square/題解連結:https://github.com/yular/CC
  • [LeetCode] 916. Word Subsets 單詞子集合
    Example 1:Input: A = ["amazon","apple","facebook","google","leetcode"], B = ["e","o"]Output: ["facebook","google","leetcode"]Example 2:Input: A = ["amazon
  • LeetCode Weekly Contest 204 題解
    Detect Pattern of Length M Repeated K or More Times題目連結:https://leetcode.com/problems/detect-pattern-of-length-m-repeated-k-or-more-times/題解連結:https://github.com/yular/CC--InterviewProblem
  • leetcode:對撞指針系列
    leetcode-167:描述:給定一個已按照升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。
  • leetcode之整理字符串
    序本文主要記錄一下leetcode之整理字符串題目給你一個由大小寫英文字母組成的字符串 s 。
  • LeetCode-38. Count and Say | 外觀數列
    3113112221131112311332111213122112311311123112111331121113122112132113121113222112311311221112131221123113112221121113311211131122211211131221131211132221121321132132212321121113121112133221123113112221131112311332111213213211221113122113121113222112132113213221232112111312111213322112132113213221133112132123123112111311222112132113311213211221121332211231131122211311123113321112131221123113112221132231131122211211131221131112311332211213211321223112111311222112132113212221132221222112112322211211131221131211132221232112111312111213111213211231132132211211131221232112111312211213111213122112132113213221123113112221133112132123222112111312211312112213211231132132211211131221131211132221121311121312211213211312111322211213211321322113311213212322211231131122211311123113321112131221123113112211121312211213211321222113222112132113223113112221121113122113121113123112112322111213211322211312113211","132113213221133112132123123112111311222112132113311213211231232112311311222112111312211311123113322112132113212231121113112221121321132132211231232112311321322112311311222113111231133221121113122113121113221112131221123113111231121123222112132113213221133112132123123112111312111312212231131122211311123113322112111312211312111322111213122112311311123112112322211211131221131211132221232112111312111213111213211231132132211211131221232112111312212221121123222112132113213221133112132123123112111311222112132113213221132213211321322112311311222113311213212322211211131221131211221321123113213221121113122113121132211332113221122112133221123113112221131112311332111213122112311311123112111331121113122112132113121113222112311311221112131221123113112221121113311211131122211211131221131211132221121321132132212321121113121112133221123113112221131112212211131221121321131211132221123113112221131112311332211211133112111311222112111312211311123113322112111312211312111322212321121113121112133221121321132132211331121321231231121113112221121321132122311211131122211211131221131211322113322112111312211322132113213221123113112221131112311311121321122112132231121113122113322113111221131221
  • Leetcode85 這道題我寫了一晚上,順帶解決了Leetcode84
    示例 2:輸入:matrix = []輸出:0示例 3:輸入:matrix = [["0"]]輸出:0示例 4:輸入:matrix = [["1"]]輸出:1示例 5:輸入:matrix = [["0","0"]]輸出:0來源:力扣(LeetCode)連結:https://leetcode-cn.com/problems/maximal-rectangle
  • python大戰leetcode(一)
    對於算法崗,leetcode的重要性就不用多說了。大廠必考,職業生涯的前一半,或多或少都會和它有點關係。
  • LeetCode-7. Reverse Integer | 整數反轉
    References[1] LeetCode: https://leetcode.com/problems/reverse-integer/[2] LeetCode-cn: https://leetcode-cn.com/problems/reverse-integer/[3] 官方題解: https://leetcode-cn.com/problems/reverse-integer
  • AK leetcode 流浪計劃 - 數組反轉
    下面我精心準備了leetcode幾個題目(首先AK F.*ing leetcode),給大家準備了一些題目,供大家練習參考。幹他F.*ing (Fighting?)。八、實戰訓練代碼基礎訓練題光說不練假把式,學完了怎麼也要實操一下吧,快快動用把剛才那4題A了。
  • LeetCode-53. Maximum Subarray | 最大子序和
    temp = temp + nums[i] } else { temp = nums[i] } if temp > max { max = temp } } return max //返回最大值}執行結果:leetcode-cn
  • 笨方法刷 leetcode(一)
    )本篇記錄5道題的解題思路,可能都是最笨的方法題目描述:實現一個算法,確定一個字符串 s 的所有字符是否全都不同示例 1:輸入: s = "leetcode"輸出: false示例 2:輸入: s = "abc"輸出: true限制:0 <= len(s) <= 100原題連結:https://leetcode-cn.com/problems/is-unique-lcci/解決思路:
  • 每天學一道leetcode:152.乘積最大子序列
    面試各位同學大家好,歡迎閱讀小王同學的長篇連載文章之《每天學一道leetcode》。今天小王同學給大家帶來的是leetcode第152題「乘積最大子序列」。如果您從前做過這道題目,可以從小王同學的文章裡增強對該題目的記憶和印象,思考一下小王同學給出的思路和解法有沒有優化的空間。
  • 整數反轉 | Leetcode題解
    result : 0;};Java 實現/** * @作者:jianrry * @連結:https://leetcode-cn.com/problems/reverse-integer/solution/zheng-shu-fan-zhuan-by-jianrry/ */class Solution
  • 合併兩個有序鍊表 | Leetcode題解
    /problems/merge-two-sorted-lists/solution/he-bing-liang-ge-you-xu-lian-biao-by-leetcode-solu/java 實現class Solution {    public ListNode mergeTwoLists(ListNode l1
  • Leetcode題解 WordBreak
    舉個例子,給定  s = "leetcode",dict = ["leet", "code"].上述將返回true,因為"leetcode"可以分割成"leet code".  由於本題每個組成成分都是單詞,也就是每次在原有字符串的返回true的基礎上增加一個字典中的單詞來組成新的能夠返回true的字符串.發現這是一種全局同一限制性的求解問題,限制條件是每次字符串增加的都是一個存在於字典中的單詞.舉個例子說明一下:  比如字符串是"leetcodeisnice
  • 每天一道leetcode61-旋轉鍊表
    正當班主任要繼續發話,只聽到角落默默想起來一個聲音:」K2」前言 2018.11.21號打卡今天的題目leetcode26:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/description/昨天的題解題目 每天一道leetcode61
  • AK leetcode 流浪計劃 - 回文串
    最長回文子串 題目連結 https://leetcode-cn.com/problems/longest-palindromic-substring/驗證回文串 題目連結 https://leetcode-cn.com/problems/valid-palindrome/構建回文串檢測 題目連結 https://leetcode-cn.com/problems/can-make-palindrome-from-substring
  • 最長公共前綴 | Leetcode題解
    ans === "")            return ans;    }    return ans;};/** * @param {string[]} strs * @return {string}//作者:shetia//連結:https://leetcode-cn.com