5885. 使每位學生都有座位的最少移動次數

5885. 使每位學生都有座位的最少移動次數

一個房間里有 n 個座位和 n 名學生,房間用一個數軸表示。給你一個長度為 n 的數組 seats ,其中 seats[i] 是第 i 個座位的位置。同時給你一個長度為 n 的數組 students ,其中 students[j] 是第 j 位學生的位置。

你可以執行以下操作任意次:

  • 增加或者減少第 i 位學生的位置,每次變化量為 1 (也就是將第 i 位學生從位置 x 移動到 x + 1 或者 x - 1)

請你返回使所有學生都有座位坐的 最少移動次數 ,并確保沒有兩位學生的座位相同。

請注意,初始時有可能有多個座位或者多位學生在 同一 位置。

示例 1:輸入:seats = [3,1,5], students = [2,7,4]
輸出:4
解釋:學生移動方式如下:
- 第一位學生從位置 2 移動到位置 1 ,移動 1 次。
- 第二位學生從位置 7 移動到位置 5 ,移動 2 次。
- 第三位學生從位置 4 移動到位置 3 ,移動 1 次。
總共 1 + 2 + 1 = 4 次移動。示例 2:輸入:seats = [4,1,5,9], students = [1,3,2,6]
輸出:7
解釋:學生移動方式如下:
- 第一位學生不移動。
- 第二位學生從位置 3 移動到位置 4 ,移動 1 次。
- 第三位學生從位置 2 移動到位置 5 ,移動 3 次。
- 第四位學生從位置 6 移動到位置 9 ,移動 3 次。
總共 0 + 1 + 3 + 3 = 7 次移動。示例 3:輸入:seats = [2,2,6,6], students = [1,3,2,6]
輸出:4
解釋:學生移動方式如下:
- 第一位學生從位置 1 移動到位置 2 ,移動 1 次。
- 第二位學生從位置 3 移動到位置 6 ,移動 3 次。
- 第三位學生不移動。
- 第四位學生不移動。
總共 1 + 3 + 0 + 0 = 4 次移動。

提示:

  • n == seats.length == students.length
  • 1 <= n <= 100
  • 1 <= seats[i], students[j] <= 100

解題思路

使用貪心的思路,先將兩個數組進行排序,例如對于下標最小的學生,我們必然需要找下標最小的座位,才能使得花費最小,如此類推,我們只要按學生的下標分配對應下標的座位就能使得移動次數最小,例如下標0的學生分配下標為0的座位。

代碼

class Solution {public int minMovesToSeat(int[] seats, int[] students) {int res=0;Arrays.sort(seats);Arrays.sort(students);for (int i = 0; i < seats.length; i++) {res+=Math.abs(seats[i]-students[i]);}return res;}
}

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

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

相關文章

Springboot(2.0.0.RELEASE)+spark(2.1.0)框架整合到jar包成功發布(原創)!!!

一、前言 首先說明一下&#xff0c;這個框架的整合可能對大神來說十分容易&#xff0c;但是對我來說十分不易&#xff0c;踩了不少坑。雖然整合的時間不長&#xff0c;但是值得來紀念下&#xff01;&#xff01;&#xff01;我個人開發工具比較喜歡IDEA&#xff0c;創建的sprin…

求一個張量的梯度_張量流中離散策略梯度的最小工作示例2 0

求一個張量的梯度Training discrete actor networks with TensorFlow 2.0 is easy once you know how to do it, but also rather different from implementations in TensorFlow 1.0. As the 2.0 version was only released in September 2019, most examples that circulate …

docker環境 快速使用elasticsearch-head插件

docker環境 快速使用elasticsearch-head插件 #elasticsearch配置 #進入elk容器 docker exec -it elk /bin/bash #head插件訪問配置 echo #head插件訪問# http.cors.enabled: true http.cors.allow-origin: "*" >>/etc/elasticsearch/elasticsearch.yml#重啟el…

476. 數字的補數

476. 數字的補數 給你一個 正 整數 num &#xff0c;輸出它的補數。補數是對該數的二進制表示取反。 例 1&#xff1a;輸入&#xff1a;num 5 輸出&#xff1a;2 解釋&#xff1a;5 的二進制表示為 101&#xff08;沒有前導零位&#xff09;&#xff0c;其補數為 010。所以你…

zabbix網絡發現主機

1 功能介紹 默認情況下&#xff0c;當我在主機上安裝agent&#xff0c;然后要在server上手動添加主機并連接到模板&#xff0c;加入一個主機組。 如果有很多主機&#xff0c;并且經常變動&#xff0c;手動操作就很麻煩。 網絡發現就是主機上安裝了agent&#xff0c;然后server自…

python股市_如何使用python和破折號創建儀表板來主導股市

python股市始終關注大局 (Keep Your Eyes on the Big Picture) I’ve been fascinated with the stock market since I was a little kid. There is certainly no shortage of data to analyze, and if you find an edge you can make some easy money. To stay on top of the …

阿里巴巴開源 Sentinel,進一步完善 Dubbo 生態

為什么80%的碼農都做不了架構師&#xff1f;>>> 阿里巴巴開源 Sentinel&#xff0c;進一步完善 Dubbo 生態 Sentinel 開源地址&#xff1a;https://github.com/alibaba/Sentinel 轉載于:https://my.oschina.net/dyyweb/blog/1925839

數據結構與算法 —— 鏈表linked list(01)

鏈表(維基百科) 鏈表&#xff08;Linked list&#xff09;是一種常見的基礎數據結構&#xff0c;是一種線性表&#xff0c;但是并不會按線性的順序存儲數據&#xff0c;而是在每一個節點里存到下一個節點的指針(Pointer)。由于不必須按順序存儲&#xff0c;鏈表在插入的時候可以…

離群值如何處理_有理處理離群值的局限性

離群值如何處理ARIMA models can be quite adept when it comes to modelling the overall trend of a series along with seasonal patterns.ARIMA模型可以很好地建模一系列總體趨勢以及季節性模式。 In a previous article titled SARIMA: Forecasting Seasonal Data with P…

網絡爬蟲基礎練習

0.可以新建一個用于練習的html文件&#xff0c;在瀏覽器中打開。 1.利用requests.get(url)獲取網頁頁面的html文件 import requests newsurlhttp://news.gzcc.cn/html/xiaoyuanxinwen/ res requests.get(newsurl) #返回response對象 res.encodingutf-8 2.利用BeautifulSoup的H…

10生活便捷:購物、美食、看病時這樣搜,至少能省一半心

本次課程介紹實實在在能夠救命、省錢的網站&#xff0c;解決了眼前這些需求后&#xff0c;還有“詩和遠方”——不花錢也能點亮自己的生活&#xff0c;獲得美的享受&#xff01; 1、健康醫療這么搜&#xff0c;安全又便捷 現在的醫療市場確實有些混亂&#xff0c;由于醫療的專業…

ppt圖表圖表類型起始_梅科圖表

ppt圖表圖表類型起始There are different types of variable width bar charts but two are the most popular: 1) Bar Mekko chart; 2) Marimekko chart.可變寬度條形圖有不同類型&#xff0c;但最受歡迎的有兩種&#xff1a;1)Mekko條形圖&#xff1b; 2)Marimekko圖表。 Th…

Tomcat日志亂碼了怎么處理?

【前言】 tomacat日志有三個地方&#xff0c;分別是Output(控制臺)、Tomcat Localhost Log(tomcat本地日志)、Tomcat Catalina Log。 啟動日志和大部分報錯日志、普通日志都在output打印;有些錯誤日志&#xff0c;在Tomcat Localhost Log。 三個日志顯示區&#xff0c;都可能…

python 編碼規范

縮進 用4個空格來縮進代碼 分號 不要在行尾加分號, 也不要用分號將兩條命令放在同一行。 行長度 每行不超過80個字符 以下情況除外&#xff1a; l 長的導入模塊語句 l 注釋里的URL 不要使用反斜杠連接行。 Python會將 圓括號, 中括號和花括號中的行隱式的連接起來 , 你可以利用…

5888. 網絡空閑的時刻

5888. 網絡空閑的時刻 給你一個有 n 個服務器的計算機網絡&#xff0c;服務器編號為 0 到 n - 1 。同時給你一個二維整數數組 edges &#xff0c;其中 edges[i] [ui, vi] 表示服務器 ui 和 vi 之間有一條信息線路&#xff0c;在 一秒 內它們之間可以傳輸 任意 數目的信息。再…

django框架預備知識

內容&#xff1a; 1.web預備知識 2.django介紹 3.web框架的本質及分類 4.django安裝與基本設置 1.web預備知識 HTTP協議&#xff1a;https://www.cnblogs.com/wyb666/p/9383077.html 關于web的本質&#xff1a;http://www.cnblogs.com/wyb666/p/9034042.html 如何自定義web框架…

現實世界 機器學習_公司溝通分析簡介現實世界的機器學習方法

現實世界 機器學習In my previous posts I covered analytical subjects from a scientific point of view, rather than an applied real world problem. For this reason, this article aims at approaching an analytical idea from a managerial point of view, rather tha…

拷貝構造函數和賦值函數

1、拷貝構造函數&#xff1a;用一個已經有的對象構造一個新的對象。 CA&#xff08;const CA & c &#xff09;函數的名稱必須和類名稱相一致&#xff0c;它的唯一的一個參數是本類型的一個引用變量&#xff0c;該參數是const 類型&#xff0c;不可變。 拷貝構造函數什么時…

[bzoj3036]綠豆蛙的歸宿

題目大意&#xff1a;給定 $DAG$ 帶邊權連通圖&#xff0c;保證所有點都能到達終點 $n$&#xff0c;每個點等概率沿邊走&#xff0c;求起點 $1$ 到終點 $n$ 的期望長度。 題解&#xff1a;拓撲&#xff0c;然后倒著$DP$就可以了 卡點&#xff1a;無 C Code&#xff1a; #includ…

5902. 檢查句子中的數字是否遞增

5902. 檢查句子中的數字是否遞增 句子是由若干 token 組成的一個列表&#xff0c;token 間用 單個 空格分隔&#xff0c;句子沒有前導或尾隨空格。每個 token 要么是一個由數字 0-9 組成的不含前導零的 正整數 &#xff0c;要么是一個由小寫英文字母組成的 單詞 。 示例&…