成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

973-最接近原點的 K 個點

li21 / 1718人閱讀

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

前言

Weekly Contest 119的 最接近原點的 K 個點:

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

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

你可以按任何順序返回答案。除了點坐標的順序之外,答案確保是唯一的。

示例1:

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

示例2:

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

提示:

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

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

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

解題思路

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

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

而點A到原點歐幾里德距離則為

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

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

除了點坐標的順序之外,答案確保是唯一的

這說明每個點到原點的舉例應(yīng)該都是不同的。

實現(xiàn)代碼
    /**
     * 973. 最接近原點的 K 個點
     * 某個點到原點的歐幾里德距離為坐標值的平方之和開根號即可
     * @param points
     * @param K
     * @return
     */
    public int[][] kClosest(int[][] points, int K) {
        //根據(jù)題目意思,每個點到原點的歐幾里德距離都不同,可以用距離作為key
        //Map選擇TreeMap是因為TreeMap的key是有序(從小到大)
        Map map=new TreeMap<>();
        for (int i=0;i> it=map.entrySet().iterator();
        //當前遍歷到第幾個元素,用于控制點的個數(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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/72982.html

相關(guān)文章

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

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

    Sanchi 評論0 收藏0
  • 機器學習——K近鄰算法

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

    SexySix 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<