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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode练习

發布時間:2024/1/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode练习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1?

問題描述

給定一個整數數組,返回兩個數字的索引,使它們相加到特定目標。

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

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函數用法:

range(start, stop[, step])
  • start: 計數從 start 開始。默認是從 0 開始。例如range(5)等價于range(0, 5);
  • stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
  • step:步長,默認為1。例如:range(0, 5) 等價于 range(0, 5, 1)

?

轉載于:https://www.cnblogs.com/LuckCoder/p/10252498.html

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。