亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

973-最接近原點(diǎn)的 K 個(gè)點(diǎn)

li21 / 1747人閱讀

摘要:前言的最接近原點(diǎn)的個(gè)點(diǎn)我們有一個(gè)由平面上的點(diǎn)組成的列表。這里,平面上兩點(diǎn)之間的距離是歐幾里德距離。提示解題思路本題首先要知道什么是歐幾里德距離。歐幾里德距離又叫做歐幾里德度量,指的是是歐幾里得空間中兩點(diǎn)間普通即直線距離。

前言

Weekly Contest 119的 最接近原點(diǎn)的 K 個(gè)點(diǎn):

我們有一個(gè)由平面上的點(diǎn)組成的列表 points。需要從中找出 K 個(gè)距離原點(diǎn) (0, 0) 最近的點(diǎn)。

(這里,平面上兩點(diǎn)之間的距離是歐幾里德距離。)

你可以按任何順序返回答案。除了點(diǎn)坐標(biāo)的順序之外,答案確保是唯一的。

示例1:

輸入:points = [[1,3],[-2,2]], K = 1
輸出:[[-2,2]]
解釋: 
(1, 3) 和原點(diǎn)之間的距離為 sqrt(10),
(-2, 2) 和原點(diǎn)之間的距離為 sqrt(8),
由于 sqrt(8) < sqrt(10),(-2, 2) 離原點(diǎn)更近。
我們只需要距離原點(diǎn)最近的 K = 1 個(gè)點(diǎn),所以答案就是 [[-2,2]]。

示例2:

輸入:points = [[3,3],[5,-1],[-2,4]], K = 2
輸出:[[3,3],[-2,4]]
(答案 [[-2,4],[3,3]] 也會(huì)被接受。)

提示:

1 <= K <= points.length <= 10000

-10000 < points[i][0] < 10000

-10000 < points[i][3] < 10000

解題思路

本題首先要知道什么是歐幾里德距離。歐幾里德距離又叫做歐幾里德度量,指的是是歐幾里得空間中兩點(diǎn)間“普通”(即直線)距離。只是說(shuō)概念大家很難理解,先用本題需要用到的二維空間中計(jì)算歐幾里德距離的數(shù)學(xué)公式就能很好理解了:
已知原點(diǎn)坐標(biāo)為(0,0),存在兩個(gè)點(diǎn)A(x1,y1)和B(x2,y2),則點(diǎn)A和B的歐幾里德距離則為

$$ sqrt{(x_1-x_2)^2+(y_1-y_2)^2} $$

而點(diǎn)A到原點(diǎn)歐幾里德距離則為

$$ sqrt{x_1^2+y_1^2} $$

然后利用這個(gè)公式可以計(jì)算出每個(gè)點(diǎn)到原點(diǎn)的歐幾里德距離,之后只需要找出最近的幾個(gè)點(diǎn)即可。
此處需要注意題目中的

除了點(diǎn)坐標(biāo)的順序之外,答案確保是唯一的

這說(shuō)明每個(gè)點(diǎn)到原點(diǎn)的舉例應(yīng)該都是不同的。

實(shí)現(xiàn)代碼
    /**
     * 973. 最接近原點(diǎn)的 K 個(gè)點(diǎn)
     * 某個(gè)點(diǎn)到原點(diǎn)的歐幾里德距離為坐標(biāo)值的平方之和開(kāi)根號(hào)即可
     * @param points
     * @param K
     * @return
     */
    public int[][] kClosest(int[][] points, int K) {
        //根據(jù)題目意思,每個(gè)點(diǎn)到原點(diǎn)的歐幾里德距離都不同,可以用距離作為key
        //Map選擇TreeMap是因?yàn)門reeMap的key是有序(從小到大)
        Map map=new TreeMap<>();
        for (int i=0;i> it=map.entrySet().iterator();
        //當(dāng)前遍歷到第幾個(gè)元素,用于控制點(diǎn)的個(gè)數(shù)
        int index=0;
        while (it.hasNext()){
            int[] point=it.next().getValue();
            result[index]=point;
            if(index+1==K){
                break;
            }else{
                ++index;
            }
        }
        return result;
    }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/72982.html

相關(guān)文章

  • Leetcode PHP題解--D29 973. K Closest Points to Origi

    摘要:題目鏈接題目分析給一個(gè)坐標(biāo)數(shù)組,從中返回個(gè)離最近的坐標(biāo)。其中,用歐幾里得距離計(jì)算。思路把距離作為數(shù)組的鍵,把對(duì)應(yīng)坐標(biāo)作為數(shù)組的值。用函數(shù)排序,再用函數(shù)獲取前個(gè)即可。最終代碼若覺(jué)得本文章對(duì)你有用,歡迎用愛(ài)發(fā)電資助。 973. K Closest Points to Origin 題目鏈接 973. K Closest Points to Origin 題目分析 給一個(gè)坐標(biāo)數(shù)組points...

    Sanchi 評(píng)論0 收藏0
  • 機(jī)器學(xué)習(xí)——K近鄰算法

    摘要:而代碼是給出現(xiàn)情況增加次數(shù),出現(xiàn)一次排序?qū)脒\(yùn)算符模塊的方法,按照第二個(gè)元素的次序?qū)υM進(jìn)行排序,此處的排序?yàn)槟嫘颉? 機(jī)器學(xué)習(xí)——K近鄰算法 概述 k近鄰是一種基本分類與回歸方法. 輸入:特征向量 輸出:實(shí)例的類別(可取多類) 核心思想:如果一個(gè)樣本在特征空間中的k個(gè)最相鄰的樣本中的大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別,并具有這個(gè)類別上樣本的特性. 優(yōu)點(diǎn):計(jì)算精度高、對(duì)異常值...

    SexySix 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<