Python中怎么找出目標值的整數(shù)

本篇內(nèi)容介紹了“Python中怎么找出目標值的整數(shù)”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了涼山州免費建站歡迎大家使用!

題目要求:

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

你可以假設每種輸入只會對應一個答案。但是,你不能重復利用這個數(shù)組中同樣的元素。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
     

解題思路

給定數(shù)組arr,初始化字典dic,目標值target,a,b為數(shù)組的元素
如果存在這樣的關(guān)系a+b=target,如果a的下標為a_1,則可以得到dic[target-a]=a_1。
簡單數(shù)就是,當前的元素的下標和目標值減去當前元素獲取的值做一個映射,如果映射存在就可以找到這兩個數(shù)了。 

代碼

Python Version

from typing import List
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        d =dict()
        for index,item in enumerate(nums):
            if item in d:
                return [d[item],index]
            else:
                d[target-item] =  index 

            #或者   
            # if target-item in d:
            #     return [d[target-item],index]
            # d[item] = index

if __name__ == "__main__":
    l:list = [2,7,11,15,12]
    target:int = 19
    s = Solution()
    print(s.twoSum(l,target))            

Go Version

package main
import "fmt"

func solution(nums []int,target int) []int{
    m:=make(map[int]int)
    for index,value := range nums {
        if w,ok:=m[value];ok{
            return []int{w,index}
        } else{
            m[target-value] = index
        }
    }
    return nil
}
func main() {
    nums:=[]int{2,7,11,15,12}
    fmt.Println("nums",nums)
    target:=19
    fmt.Println(solution(nums,target))

}

“Python中怎么找出目標值的整數(shù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)站名稱:Python中怎么找出目標值的整數(shù)
當前地址:http://muchs.cn/article34/ihjipe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站網(wǎng)站改版、搜索引擎優(yōu)化、外貿(mào)建站、、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管