日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

leetcode练习

發(fā)布時(shí)間:2024/1/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode练习 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1?

問題描述

給定一個(gè)整數(shù)數(shù)組,返回兩個(gè)數(shù)字的索引,使它們相加到特定目標(biāo)。

您可以假設(shè)每個(gè)輸入只有一個(gè)解決方案,并且您可能不會(huì)兩次使用相同的元素。

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:

1 Given nums = [2, 7, 11, 15], target = 9, 2 3 Because nums[0] + nums[1] = 2 + 7 = 9, 4 return [0, 1].
C++代碼如下

1 class Solution { 2 public: 3 vector<int> twoSum(vector<int>& nums, int target) 4 { 5 vector<int> vi; 6 int size = nums.size(); 7 for(int i=0;i<size;i++) 8 { 9 for(int j=i+1;j<size;j++) 10 { 11 if(nums[i]+nums[j] == target) 12 { 13 vi.push_back(i); 14 vi.push_back(j); 15 return vi; 16 } 17 } 18 } 19 return vi; 20 } 21 }; class Solution { public:vector<int> twoSum(vector<int>& nums, int target){unordered_map<int, int> m;vector<int> vi;for (int i=0;i<nums.size();i++){m[nums[i]] = i;}for (int i=0;i<nums.size();i++){int other_number = target - nums[i];if (m.count(other_number) && m[other_number]!=i){vi.push_back(i);vi.push_back(m[other_number]);break;}}return vi;} };

?

?

class Solution { public:vector<int> twoSum(vector<int>& nums, int target){unordered_map<int, int> numer_to_id;for (int i=0;i<nums.size();i++){if (numer_to_id.count(target-nums[i])){return{ i,numer_to_id[target - nums[i]] };}numer_to_id[nums[i]] = i;}return{};} };

?

python代碼如下:

1 class Solution(object): 2 def twoSum(self, nums, target): 3 """ 4 :type nums: List[int] 5 :type target: int 6 :rtype: List[int] 7 """ 8 size = len(nums) 9 i = 0 10 for i in range(size): 11 for j in range(i+1,size): 12 if nums[i]+nums[j] == target: 13 return [i,j]

注:

range函數(shù)用法:

range(start, stop[, step])
  • start: 計(jì)數(shù)從 start 開始。默認(rèn)是從 0 開始。例如range(5)等價(jià)于range(0, 5);
  • stop: 計(jì)數(shù)到 stop 結(jié)束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
  • step:步長(zhǎng),默認(rèn)為1。例如:range(0, 5) 等價(jià)于 range(0, 5, 1)

?

轉(zhuǎn)載于:https://www.cnblogs.com/LuckCoder/p/10252498.html

總結(jié)

以上是生活随笔為你收集整理的leetcode练习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。