leetcode 3027. 人員站位的方案數 II 中等

給你一個??n x 2?的二維數組?points?,它表示二維平面上的一些點坐標,其中?points[i] = [xi, yi]?。

我們定義 x 軸的正方向為??(x 軸遞增的方向),x 軸的負方向為??(x 軸遞減的方向)。類似的,我們定義 y 軸的正方向為??(y 軸遞增的方向),y 軸的負方向為??(y 軸遞減的方向)。

你需要安排這?n?個人的站位,這?n?個人中包括 Alice 和 Bob 。你需要確保每個點處?恰好?有?一個?人。同時,Alice 想跟 Bob 單獨玩耍,所以?Alice 會以 Alice?的坐標為?左上角?,Bob 的坐標為?右下角?建立一個矩形的圍欄(注意,圍欄可能??包含任何區域,也就是說圍欄可能是一條線段)。如果圍欄的?內部?或者?邊緣?上有任何其他人,Alice 都會難過。

請你在確保 Alice?不會?難過的前提下,返回 Alice 和 Bob 可以選擇的?點對?數目。

注意,Alice 建立的圍欄必須確保 Alice 的位置是矩形的左上角,Bob 的位置是矩形的右下角。比方說,以?(1, 1)?,(1, 3)?,(3, 1)?和?(3, 3)?為矩形的四個角,給定下圖的兩個輸入,Alice 都不能建立圍欄,原因如下:

  • 圖一中,Alice 在?(3, 3)?且 Bob 在?(1, 1)?,Alice 的位置不是左上角且 Bob 的位置不是右下角。
  • 圖二中,Alice 在?(1, 3)?且 Bob 在?(1, 1)?,Bob 的位置不是在圍欄的右下角。

示例 1:

輸入:points = [[1,1],[2,2],[3,3]]
輸出:0
解釋:沒有辦法可以讓 Alice 的圍欄以 Alice 的位置為左上角且 Bob 的位置為右下角。所以我們返回 0 。

示例 2:

輸入:points = [[6,2],[4,4],[2,6]]
輸出:2
解釋:總共有 2 種方案安排 Alice 和 Bob 的位置,使得 Alice 不會難過:
- Alice 站在 (4, 4) ,Bob 站在 (6, 2) 。
- Alice 站在 (2, 6) ,Bob 站在 (4, 4) 。
不能安排 Alice 站在 (2, 6) 且 Bob 站在 (6, 2) ,因為站在 (4, 4) 的人處于圍欄內。

示例 3:

輸入:points = [[3,1],[1,3],[1,1]]
輸出:2
解釋:總共有 2 種方案安排 Alice 和 Bob 的位置,使得 Alice 不會難過:
- Alice 站在 (1, 1) ,Bob 站在 (3, 1) 。
- Alice 站在 (1, 3) ,Bob 站在 (1, 1) 。
不能安排 Alice 站在 (1, 3) 且 Bob 站在 (3, 1) ,因為站在 (1, 1) 的人處于圍欄內。
注意圍欄是可以不包含任何面積的,上圖中第一和第二個圍欄都是合法的。

提示:

  • 2 <= n <= 1000
  • points[i].length == 2
  • -10^9 <= points[i][0], points[i][1] <= 10^9
  • points[i]?點對兩兩不同。

分析:由于點的數量擴大到 10 的 3 次方,用三次循環的方法會超時。可以先將所有點按照橫坐標從小到大排序,橫坐標相同的按照縱坐標從大到小排序,這樣經過排序后所有點的點都是按照先左后右,先上后下的順序排列。之后枚舉左上角的點,檢查其它點是不是在它的右下方,以及是否滿足條件。

int cmp(const void *a,const void *b)
{int *aa=*(int**)a;int *bb=*(int**)b;if(aa[0]!=bb[0])return aa[0]-bb[0];return bb[1]-aa[1];
}
int numberOfPairs(int** points, int pointsSize, int* pointsColSize) {int ans=0;// qsort(points, pointsSize, sizeof(int*), compare);qsort(points,pointsSize,sizeof(int*),cmp);for(int i=0;i<pointsSize;++i){int left=points[i][0]-1,right=INT_MAX,up=points[i][1]+1,down=INT_MIN;for(int j=i+1;j<pointsSize;++j){if(points[j][0]>left&&points[j][0]<right&&points[j][1]>down&&points[j][1]<up)ans++,left=points[j][0],down=points[j][1];}}return ans;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/95328.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95328.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95328.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle 從一張表更新到另外一張表的方法(MERGE)

之前更新表格經常用 update aaa set (aaa.q,aaa.w) (select bbb.q,bbb.w from bbb where bbb.eaaa.e)的方法 后面學習了一個新的方法&#xff0c;MERGE法&#xff0c;這種寫法更適合&#xff0c;因為對于空的值可以自定義定義其值&#xff0c;這樣寫存儲過程的時候就不需要頻繁…

Huggingface終于沒忍住,OpenCSG堅持開源開放

在全球人工智能競爭進入白熱化的當下&#xff0c;開源與閉源之路的選擇正在成為決定未來格局的關鍵。當全球最大的AI開源平臺Hugging Face終于承認"開源是贏得AI競賽的關鍵"&#xff0c;并呼吁美國重新重視開源賽道時&#xff0c;OpenCSG&#xff08;開放傳神&#x…

計算機網絡模型總概述

//網絡通訊 --- 不同主機之間的通信(進程間通信) 一、概述 目前使用的計算機網絡模型主要分為兩個&#xff1a;OSI七層模型和TCP/IP模型 相比OSI七層模型 &#xff0c;TCP/IP模型更簡潔&#xff0c;更實用&#xff0c;因此目前所使用的基本都是TCP/IP模型&#xff0c;已成為…

HTTPS -> HTTP 引起的 307 狀態碼與HSTS

1.應用場景 主要用于了解HSTS, 以及如何合理設置, 如正式服和測試服, 開發環境; 摘要&#xff1a;當HTTPS網站返回307狀態碼臨時重定向到HTTP時&#xff0c;會帶來安全風險&#xff08;如中間人攻擊和混合內容問題&#xff09;。 HSTS機制通過強制HTTPS通信可解決此問題&#…

PortSwigger靶場之DOM XSS in document.write sink using source location.search通關秘籍

一、靶場描述這個靶場在搜索查詢的跟蹤功能中&#xff0c;包含一個基于DOM的跨站腳本&#xff08;DOM-based XSS&#xff09;漏洞。該漏洞的產生是因為網站使用了一個名為 document.write 的 JavaScript 函數&#xff0c;這個函數會把數據直接寫入到頁面中。而寫入的數據來源于…

深度學習篇---Pytorch常用優化器

優化器介紹&#xff1a;在 PyTorch 中&#xff0c;優化器&#xff08;Optimizer&#xff09;的作用是根據模型參數的梯度來更新參數&#xff0c;以最小化損失函數。下面用通俗易懂的方式介紹幾種常用的優化器&#xff1a;1. SGD&#xff08;隨機梯度下降&#xff09;最基礎的優…

0903 C++類的運算符重載、靜態成員與繼承

Part 1.梳理思維導圖一.運算符重載1.運算符重載的作用使原本只能對基本數據類型生效的運算符&#xff0c;在重載后&#xff0c;滿足可以對構造類型數據生效。2.關系運算符重載a.關系運算符種類> > < < !b.分析參數表達式…

Cloudflare安全規則實用指南:從路徑攔截到IP限制的10個經典范例

前言&#xff1a;在Cloudflare的安全防護體系中&#xff0c;自定義規則是抵御特定威脅的“精準武器”。除了基礎的路徑攔截&#xff0c;日常運維中還有許多高頻場景需要針對性配置。本文將通過10個實用范例&#xff0c;帶你掌握Cloudflare規則的靈活用法&#xff0c;覆蓋路徑防…

數據結構(時空復雜度)

目錄 一、算法復雜度 二、時間復雜度 1.不同時間度代碼舉例 三、空間復雜度 一、算法復雜度 算法復雜度&#xff08;評估算法優劣一個重要指標&#xff09;分為時間復雜度和空間復雜度。 時間復雜度是指執行算法所需要的計算工作量&#xff0c;而空間復雜度是指執行這個…

ESXI8多網卡鏈路聚合

1. 背景 測試服務器只有千兆網卡&#xff0c;增加上行帶寬&#xff0c;使用兩塊網卡做鏈路聚合。 2. 環境 VM ESXI 8.0 華為交換機 S5735S 3. 交換機配置 負載均衡方式采用了src-dst-ipTrunk模式采用了手工負載分擔&#xff08;測試了靜態LACP&#xff0c;未成功&#xff09;4.…

從“人工驅動”到“AI協同”:良策金寶AI如何助力設計院數智化躍遷?

在“雙碳”目標驅動下&#xff0c;電力工程項目的數量與復雜度持續攀升。設計院面臨“項目多、周期短、人力緊”的三重壓力&#xff0c;傳統的“人工驅動”模式已難以為繼。良策金寶AI&#xff0c;正是這場變革的核心引擎。它以AI驅動數智化服務&#xff0c;為工程設計企業提供…

vue3 vite 自適應方案

兩種方案&#xff1a; 1 使用 postcss-pxtorem插件 npm install postcss-pxtorem autoprefixer --save-dev # 或 yarn add postcss-pxtorem autoprefixer -D 2、postcss-px-to-viewport npm install postcss-px-to-viewport --save-dev 或 yarn add postcss-px-to-viewport -D …

華為研發投資與管理實踐(IPD)讀書筆記

在全球科技產業競爭日趨激烈的背景下&#xff0c;企業研發管理早已告別 “依賴個體經驗、靠運氣突破” 的粗放時代&#xff0c;如何將研發創新從 “偶然成功” 轉化為 “可復制、可持續的必然成果”&#xff0c;成為所有追求長期競爭力的企業必須破解的命題。華為&#xff0c;作…

【LeetCode_283】移動零

刷爆LeetCode系列LeetCode第283題&#xff1a;github地址前言題目描述題目與思路分析代碼實現算法代碼優化LeetCode第283題&#xff1a; github地址 有夢想的電信狗 前言 本文用C實現 LeetCode 第283題 題目描述 題目鏈接&#xff1a;https://leetcode.cn/problems/move-z…

一文弄懂C/C++不定參數底層原理

目錄 一、C語言的可變參數&#xff1a;基于棧幀的手動讀取 &#xff08;1&#xff09;C函數調用的棧幀結構 &#xff08;2&#xff09;C 可變參數的 4 個核心宏&#xff1a;如何 “手動讀棧” &#xff08;3&#xff09;實戰代碼&#xff1a;用 C 可變參數實現求和函數 &a…

【Android】【設計模式】抽象工廠模式改造彈窗組件必知必會

寫一個 Android 版本的抽象工廠彈窗 Manager 管理器&#xff0c;使用 DialogFragment 實現&#xff0c;這樣能更貼近真實的開發場景。結構設計 抽象產品&#xff1a;BaseDialogFragment&#xff08;繼承 DialogFragment&#xff09;具體產品&#xff1a;LoginDialogFragment, …

Win64OpenSSL-3_5_2.exe【安裝步驟】

官網下載 注意&#xff1a;科學上網&#xff0c;可以加速下載速度&#xff01; Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 下載后得到&#xff1a;Win64OpenSSL-3_5_2.exe 雙擊安裝 修改安裝路徑&#xff1a; 默認就選擇第一個。 重要提醒?…

華為云云原生架構賦能:大騰智能加速業務創新步伐

巨大的渦輪、細小的螺絲&#xff0c;一臺航天飛機發動機的三維模型呈現在屏幕上&#xff0c;遠程同事同步協作&#xff0c;一臺復雜設備在工程師高效的協同中不斷完善。深圳市大騰信息技術有限公司&#xff0c;正是這場工業變革的推動者之一。大騰智能以“云原生工業”的融合為…

基于https+域名的Frp內網穿透教程(Linux+Nginx反向代理)

系列文章目錄 基于http公網ip的Frp內網穿透教程(win server) 基于http域名的Frp內網穿透教程(win serverIIS反向代理) 基于http公網ip的Frp內網穿透教程(Linux) 基于https域名的Frp內網穿透教程(LinuxNginx反向代理) 目錄 系列文章目錄 前言 一、Frp是什么&#xff1f; 1. …

裸機程序(1)

一、裸機裸機是一個在計算機硬件與軟件開發領域高頻出現的概念&#xff0c;核心定義是 “未安裝操作系統&#xff08;OS&#xff09;&#xff0c;僅包含硬件本身&#xff08;或僅運行最底層硬件驅動 / 控制程序&#xff09;的設備”。在電腦中&#xff0c;裸機會映射代碼到cpu&…