国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

p2p網(wǎng)站怎么做視頻號的鏈接在哪

p2p網(wǎng)站怎么做,視頻號的鏈接在哪,免費的海報設(shè)計軟件,蕪湖網(wǎng)站網(wǎng)站建設(shè)一、題目描述 給定一個整數(shù)數(shù)組 nums 和一個目標(biāo)值 target,請你在該數(shù)組中找出和為目標(biāo)值 target的那兩個整數(shù),并返回他們的數(shù)組下標(biāo)。 你可以假設(shè)每種輸入只會對應(yīng)一個答案。但是,數(shù)組中同一個元素不能使用兩遍。 你可以按任意順序返回答…

一、題目描述

給定一個整數(shù)數(shù)組 nums 和一個目標(biāo)值 target,請你在該數(shù)組中找出和為目標(biāo)值 target的那兩個整數(shù),并返回他們的數(shù)組下標(biāo)。

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

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

示例 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]

提示:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • 只會存在一個有效答案

二、題解

2.1 暴力查找

選取數(shù)組 nums 中的第一個數(shù) num,用 target 減去,得到 another_num,即 num +another_num = target,在剩余的數(shù)中尋找 another_num,如果存在,返回兩個數(shù)的索引。依次遍歷整個數(shù)組。

基本思路是這樣,但在 “在剩余的數(shù)中尋找num2” 這一步,尋找算法的好壞直接影響整體算法的效率。

因為數(shù)組中同一個元素不能使用兩遍,這就在于 “在剩余的數(shù)中尋找num2” 中的 “剩余” 怎么實現(xiàn)了,不能簡單地使用 if another_num in nums ,需要將尋找的 num 從查找數(shù)組 nums 中剔除,這樣查找數(shù)組才是剩余的。

外循環(huán)確定 num,內(nèi)循環(huán)查找 another_num ,由于內(nèi)循環(huán)從 i+1 開始,保證了查找數(shù)組中不包含 num

但暴力查找效率極低。

2.1.1 Python

def twoSum0(nums, target):for i in range(len(nums)):for j in range(i+1,len(nums)):if nums[i] + nums[j] == target:return [i,j]

2.1.2 C++

vector<int> twoSum(vector<int>& nums, int target) 
{int n = nums.size();for (int i = 0; i < n; ++i) {for (int j = i + 1; j < n; ++j) {if (nums[i] + nums[j] == target) {return {i, j};}}}return {};
}

2.1.3 C

int* twoSum(int* nums, int numsSize, int target, int* returnSize) 
{for (int i = 0; i < numsSize; ++i) {for (int j = i + 1; j < numsSize; ++j) {if (nums[i] + nums[j] == target) {int* ret = malloc(sizeof(int) * 2);ret[0] = i, ret[1] = j;*returnSize = 2;return ret;}}}*returnSize = 0;return NULL;
}

2.1.4 復(fù)雜度分析

  • 時間復(fù)雜度: O ( N 2 ) O(N^2) O(N2),其中 N N N 是數(shù)組中的元素數(shù)量。最壞情況下數(shù)組中任意兩個數(shù)都要被匹配一次。

  • 空間復(fù)雜度: O ( 1 ) O(1) O(1)

2.2 哈希表查找

保持?jǐn)?shù)組中的每個元素與其索引相互對應(yīng)的最好方法是什么?哈希表。

使用 enumerate() 函數(shù)獲取 nums 列表元素和對應(yīng)索引,并將 another_num 及其對應(yīng)的索引存入字典,在原列表 nums 里遍歷 num ,在字典里尋找對應(yīng) another_num 。

2.2.1 Python

def twoSum1(nums, target):hashmap = {}for index, num in enumerate(nums):another_num = target - numif another_num in hashmap:return [hashmap[another_num], index]else:hashmap[num] = indexreturn None

2.2.2 C++

vector<int> twoSum(vector<int>& nums, int target) 
{unordered_map<int, int> hashtable;for (int i = 0; i < nums.size(); ++i) {auto it = hashtable.find(target - nums[i]);if (it != hashtable.end()) {return {it->second, i};}hashtable[nums[i]] = i;}return {};
}

2.2.3 C

struct hashTable 
{int key;int val;UT_hash_handle hh;
};struct hashTable* hashtable;struct hashTable* find(int ikey) 
{struct hashTable* tmp;HASH_FIND_INT(hashtable, &ikey, tmp);return tmp;
}void insert(int ikey, int ival) 
{struct hashTable* it = find(ikey);if (it == NULL) {struct hashTable* tmp = malloc(sizeof(struct hashTable));tmp->key = ikey, tmp->val = ival;HASH_ADD_INT(hashtable, key, tmp);} else {it->val = ival;}
}int* twoSum(int* nums, int numsSize, int target, int* returnSize) 
{hashtable = NULL;for (int i = 0; i < numsSize; i++) {struct hashTable* it = find(target - nums[i]);if (it != NULL) {int* ret = malloc(sizeof(int) * 2);ret[0] = it->val, ret[1] = i;*returnSize = 2;return ret;}insert(nums[i], i);}*returnSize = 0;return NULL;
}

2.2.4 復(fù)雜度分析

  • 時間復(fù)雜度: O ( N ) O(N) O(N),其中 N N N 是數(shù)組中的元素數(shù)量。對于每一個元素 x,我們可以 O ( 1 ) O(1) O(1) 地尋找 target - x。

  • 空間復(fù)雜度: O ( N ) O(N) O(N),其中 N N N 是數(shù)組中的元素數(shù)量。主要為哈希表的開銷。

http://aloenet.com.cn/news/42279.html

相關(guān)文章:

  • 企業(yè)營銷型企業(yè)網(wǎng)站建設(shè)seo如何去做優(yōu)化
  • 有道云筆記做網(wǎng)站西地那非片多少錢一盒
  • 做跨境網(wǎng)站百度搜索引擎營銷如何實現(xiàn)
  • 青島企業(yè)做網(wǎng)站百度指數(shù)官網(wǎng)首頁
  • 網(wǎng)站企業(yè)建設(shè)方案seo外鏈要做些什么
  • 設(shè)置本機外網(wǎng)ip做網(wǎng)站營銷軟文的范文
  • 國外做問卷網(wǎng)站希愛力5mg效果真實經(jīng)歷
  • 學(xué)校網(wǎng)站設(shè)計流程聊城網(wǎng)站seo
  • 網(wǎng)站購物系統(tǒng)制作雨辰資訊電子商務(wù)類網(wǎng)站開發(fā)上海seo顧問推推蛙
  • 渭南經(jīng)開區(qū)seo網(wǎng)絡(luò)推廣排名
  • 七色板網(wǎng)站建設(shè)百度站長工具怎么關(guān)閉
  • 制作相冊模板免費的北京seo包年
  • 織夢網(wǎng)站制作教程海洋seo
  • 廣州哪家做網(wǎng)站還可以百度上怎么做推廣
  • 百度競價排名點擊軟件seo技術(shù)培訓(xùn)廣東
  • 用什么軟件做網(wǎng)站seo好如何建立網(wǎng)站服務(wù)器
  • 巴州區(qū)建設(shè)局網(wǎng)站百度搜索引擎推廣怎么弄
  • jsp網(wǎng)站開發(fā)要求網(wǎng)站點擊量查詢
  • 做招標(biāo)代理應(yīng)關(guān)注的網(wǎng)站網(wǎng)站推廣技巧有哪些
  • 北京網(wǎng)頁山東東營網(wǎng)絡(luò)seo
  • vi包括哪些內(nèi)容附子seo
  • 濟南網(wǎng)站建設(shè)新風(fēng)向合肥網(wǎng)站seo推廣
  • 河北 全部陽性了汕頭seo排名
  • 為什么最近好多網(wǎng)站維護沈陽疫情最新消息
  • 網(wǎng)站建設(shè)職能績效目標(biāo)網(wǎng)站建設(shè) 全網(wǎng)營銷
  • 電腦軟件和網(wǎng)站怎么做win7優(yōu)化大師官方網(wǎng)站
  • 微信公眾號如何創(chuàng)建視頻鏈接站長seo軟件
  • wordpress新聞列表如何制作seo點擊器
  • 用動易做的校園網(wǎng)站建站平臺
  • 如何做網(wǎng)站哪個站推廣營銷網(wǎng)站定制公司