zoukankan      html  css  js  c++  java
  • LC 973. K Closest Points to Origin

    We have a list of points on the plane.  Find the K closest points to the origin (0, 0).

    (Here, the distance between two points on a plane is the Euclidean distance.)

    You may return the answer in any order.  The answer is guaranteed to be unique (except for the order that it is in.)

    Example 1:

    Input: points = [[1,3],[-2,2]], K = 1
    Output: [[-2,2]]
    Explanation: 
    The distance between (1, 3) and the origin is sqrt(10).
    The distance between (-2, 2) and the origin is sqrt(8).
    Since sqrt(8) < sqrt(10), (-2, 2) is closer to the origin.
    We only want the closest K = 1 points from the origin, so the answer is just [[-2,2]].
    

    Example 2:

    Input: points = [[3,3],[5,-1],[-2,4]], K = 2
    Output: [[3,3],[-2,4]]
    (The answer [[-2,4],[3,3]] would also be accepted.)
    class Solution {
    public:
        static bool cmp(vector<long long> a, vector<long long> b){
            return a[2] < b[2];
        }
        vector<vector<int>> kClosest(vector<vector<int>>& points, int K) {
            vector<vector<int>> ret;
            vector<vector<long long>> dist;
            for(auto pv : points) {
                vector<long long> tmp = {pv[0], pv[1], pv[0]*pv[0] + pv[1]*pv[1]};
                dist.push_back(tmp);
            }
            sort(dist.begin(), dist.end(), cmp);
            for(int i=0; i<K; i++){
                vector<int> tmp = {(int)dist[i][0], (int)dist[i][1]};
                ret.push_back(tmp);
            }
            return ret;
        }
    };
  • 相关阅读:
    pandas Dataframe filter
    process xlsx with pandas
    data manipulate in excel with easyExcel class
    modify registry in user environment
    add number line in vim
    java import webservice
    ctypes MessageBoxA
    music 163 lyrics
    【python实例】自动贩卖机
    【python基础】sys模块(库)方法汇总
  • 原文地址:https://www.cnblogs.com/ethanhong/p/10262341.html
Copyright © 2011-2022 走看看