<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                link: https://leetcode.com/problems/two-sum/description/ > Given an array of integers, return indices of the two numbers such that they add up to a specific target. > You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: ``` Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]. ``` # JavaScript ```js /** * @param {number[]} nums * @param {number} target * @return {number[]} */ ``` >[danger] runtime: 7056 ms ```js var twoSum = function(nums, target) { for (let i in nums) { for (let j in nums) { if (i !== j && nums[i] + nums[j] === target) { return [parseInt(i), parseInt(j)] } } } return [-1, -1] }; ``` >[danger] runtime: 312 ms ```js var twoSum = function(nums, target) { for (let i = 0; i < nums.length; i++) { for (let j = 0; j < nums.length; j++) { if (i !== j && nums[i] + nums[j] === target) { return [parseInt(i), parseInt(j)] } } } return [-1, -1] }; ``` >[success] runtime: 82 ms ```js var twoSum = function(nums, target) { const dict = {}; for (var i = nums.length; i >= 0 ; i--) { if (dict[nums[i]] !== undefined) { return [dict[nums[i]], i]; } dict[target - nums[i]] = i; } }; ``` >[success] runtime: 86 ms ```js var twoSum = function(nums, target) { var index = {} for(var i = 0,len = nums.length; i < len; i++) { var matchNum = target - nums[i]; if(typeof index[matchNum] === 'number') return [index[matchNum], i] index[nums[i]] = i; } }; ``` > 總結: 字典查詢速度特別快,盡量少用`for-in`循環,普通`for`循環速度一般,多級循環會降低執行速度。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看