99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

女友問我為什么進字節后不理她了,是不是一進字節就沒愛情了?

0
分享至

剛才我問豆包一個問題,中國加班最厲害的互聯網公司有哪些?結果他列出了拼多多,得物,字節,華為,阿里。。。我印象中也確實是這幾家加班比較多,甚至有的人入職之后,連和女朋友聯系的時間都沒有了,還問進入字節,是不是就只有工作沒有愛情了?

最近就有一網友,自從入職字節之后,每天早10晚11的,目前狀態很差,女友還問他為什么在進入字節之后就不理她了。就這加班程度,估計回去倒頭就睡,字節能不能跳都無所謂,只要心臟還能跳就行。




--------------下面是今天的算法題--------------

來看下今天的算法題,這題是LeetCode的第315題:計算右側小于當前元素的個數,難度是困難。

給你一個整數數組 nums ,按要求返回一個新數組 counts 。數組 counts 有該性質: counts[i] 的值是 nums[i] 右側小于 nums[i] 的元素的數量。

示例1:


輸入:nums = [5,2,6,1] 輸出:[2,1,1,0] 解釋: 5 的右側有 2 個更小的元素 (2 和 1) 2 的右側僅有 1 個更小的元素 (1) 6 的右側有 1 個更小的元素 (1) 1 的右側有 0 個更小的元素

示例2:


輸入:nums = [-1,-1] 輸出:[0,0]

  • 1 <= nums.length <= 10^5

  • -10^4 <= nums[i] <= 10^4

問題分析

這題讓計算數組中每一個元素右邊有多少比它小的元素,看似很簡單的一道題,實則不容易,因為數組的長度有可能比較大,如果一個個計算,肯定會超時。

這題我們可以參考歸并排序的思路,歸并排序的思想是每次把數組分成兩部分,一直分下去,直到不能分為止,然后在合并,合并的時候實際上是合并兩個有序數組。

既然合并的兩個數組是有序的,那么這題就好辦了,我們選擇從大往小合并,也就是先合并大的 ,在合并小的,如果前面的元素大于后面的元素,那么前面的元素一定大于后面元素之前的所有元素,有點繞,沒關系,我們舉個例子,比如我們要合并下面兩個有序數組。

[2,4,5,8,9]和[1,3,6,10]

當前面的 8 和后面的 6 比較的時候,因為前面的 8 比后面的 6 大,所以 8 一定大于 6 以及它之前的所有元素,它的個數是 3 ,我們只需要累加即可。

這里在計算之前需要把數組轉化一下,因為數組合并的時候位置會發生變化,我們需要先記錄下每個元素的值和它對應的下標,代碼如下。

JAVA:

public List   countSmaller(int[] nums) {     int n = nums.length;     int[] res = newint[n];// 計算的結果     int[][] arr = newint[n][2];// 記錄原數組的值和下標     for (int i = 0; i < n; i++)         arr[i] = newint[]{nums[i], i};     mergeSort(arr, 0, n - 1, res);// 歸并排序     // 把數組轉成list集合     List ans =  new ArrayList<>(n);     for (int num : res)         ans.add(num);     return ans; } public void mergeSort(int[][] arr, int left, int right, int[] res) {     if (left < right) {         int mid = (left + right) >>> 1;         mergeSort(arr, left, mid, res);// 遞歸左邊部分。         mergeSort(arr, mid + 1, right, res);// 遞歸右邊部分。         merge(arr, left, mid, right, res);//  合并     } } // 合并兩個有序的數組,從后往前開始合并。 // 前面數組范圍[left,center],后面數組的范圍[center+1,right]。 private void merge(int[][] arr, int left, int center, int right, int[] res) {     int len = right - left + 1;// 兩個子數組的總長度。     int[][] tmp = newint[len][2];     int index = len - 1;     int end1 = center;// 前面數組末尾的位置。     int end2 = right;// 后面數組末尾的位置。     // 使用雙指針合并兩個有序數組,從后往前合并。     while (end1 >= left && end2 > center) {         if (arr[end1][0] <= arr[end2][0]) {             tmp[index--] = arr[end2--];         } else {// 累加右側小于當前元素的個數             res[arr[end1][1]] += end2 - center;             tmp[index--] = arr[end1--];         }     }     // 如果第一個數組前面還有數字就把他添加到臨時數組中。     while (end1 >= left)         tmp[index--] = arr[end1--];     // 同理,如果第二個數組后面還有數字就把他添加到臨時數組中。     while (end2 > center)         tmp[index--] = arr[end2--];     // 把臨時數組中的元素放回原數組。     index = 0;     while (index < len)         arr[left + index] = tmp[index++]; }

C++:

public:     vector
               
  countSmaller(vector
                  
 &nums) {         int n = nums.size();         vector
                    
  res(n, 0); // 計算的結果         vector int ,  int >>  arr (n) ; // 記錄原數組的值和下標         for (int i = 0; i < n; i++)             arr[i] = {nums[i], i};         mergeSort(arr, 0, n - 1, res); // 歸并排序         return res;     }     void mergeSort(vector int ,  int >> &arr,  int  left,  int  right,  vector < int > &res)  {         if (left < right) {             int mid = left + (right - left) / 2;             mergeSort(arr, left, mid, res); // 遞歸左邊部分             mergeSort(arr, mid + 1, right, res); // 遞歸右邊部分             merge(arr, left, mid, right, res); // 合并         }     }     // 合并兩個有序的數組,從后往前開始合并     // 前面數組范圍[left,center],后面數組的范圍[center+1,right]     void merge(vector int ,  int >> &arr,  int  left,  int  center,  int  right,  vector < int > &res)  {         int len = right - left + 1; // 兩個子數組的總長度         vector int ,  int >>  tmp (len) ;         int index = len - 1;         int end1 = center; // 前面數組末尾的位置         int end2 = right; // 后面數組末尾的位置         // 使用雙指針合并兩個有序數組,從后往前合并         while (end1 >= left && end2 > center) {             if (arr[end1].first <= arr[end2].first) {                 tmp[index--] = arr[end2--];             } else { // 累加右側小于當前元素的個數                 res[arr[end1].second] += end2 - center;                 tmp[index--] = arr[end1--];             }         }         // 如果第一個數組前面還有數字就把他添加到臨時數組中         while (end1 >= left)             tmp[index--] = arr[end1--];         // 同理,如果第二個數組后面還有數字就把他添加到臨時數組中         while (end2 > center)             tmp[index--] = arr[end2--];         // 把臨時數組中的元素放回原數組         for (int i = 0; i < len; i++) {             arr[left + i] = tmp[i];         }     }
          
         
       

筆者簡介

博哥,真名:王一博,畢業十多年, 作者,專注于 數據結構和算法 的講解,在全球30多個算法網站中累計做題2000多道,在公眾號中寫算法題解900多題,對算法題有自己獨特的解題思路和解題技巧。

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
俄議員:俄有權從中國“收回”遼寧艦,中方務必拆掉武器停止軍用

俄議員:俄有權從中國“收回”遼寧艦,中方務必拆掉武器停止軍用

通文知史
2025-05-01 20:00:06
致命的出差:一起車禍“撞碎”四個家庭

致命的出差:一起車禍“撞碎”四個家庭

紅星新聞
2025-07-24 14:24:44
百團大戰是背著毛主席擅自發起的?彭德懷晚年坦承:當時是急了點

百團大戰是背著毛主席擅自發起的?彭德懷晚年坦承:當時是急了點

貴妃最歷史
2025-07-25 09:20:37
張召忠發出嚴厲警告,美國已在預謀戰爭,四個明顯動作值得警惕

張召忠發出嚴厲警告,美國已在預謀戰爭,四個明顯動作值得警惕

暮光視界
2025-07-23 15:48:06
小侄子7歲時走丟,10年后我去巴厘島旅游,突然一個少年叫住我

小侄子7歲時走丟,10年后我去巴厘島旅游,突然一個少年叫住我

球場的看客
2025-07-23 20:22:07
劉伯承和彭德懷:關家垴之戰該不該打?也看出誰是帥才和將才

劉伯承和彭德懷:關家垴之戰該不該打?也看出誰是帥才和將才

紀實文錄
2025-06-12 15:30:25
江蘇省2025年退休人員基本養老金調整方案出臺

江蘇省2025年退休人員基本養老金調整方案出臺

揚子晚報
2025-07-25 09:54:55
進NBA才2年就宣布退役,13場賺280萬,他的目的達到了?

進NBA才2年就宣布退役,13場賺280萬,他的目的達到了?

體壇熱評
2025-07-25 23:13:56
緬懷長居香港31年的張發奎將軍

緬懷長居香港31年的張發奎將軍

關品方
2025-07-25 09:47:03
兵兇戰危,烏軍紅軍村東大門失守

兵兇戰危,烏軍紅軍村東大門失守

史政先鋒
2025-07-25 22:01:11
東北大學6名學生溺亡,帶隊老師活著的原因披露

東北大學6名學生溺亡,帶隊老師活著的原因披露

微微熱評
2025-07-25 13:43:12
7月25日,廣東2025養老金調整方案細則,定額28元,4千元漲多少?

7月25日,廣東2025養老金調整方案細則,定額28元,4千元漲多少?

甜檸聊史
2025-07-25 16:38:22
劍指總冠軍,火箭隊全面升級!美媒評14人豪華名單:KD成破局關鍵

劍指總冠軍,火箭隊全面升級!美媒評14人豪華名單:KD成破局關鍵

鍋子籃球
2025-07-25 23:16:53
女子面試被打后續:多處骨折,更多受害者發聲,打人只是冰山一角

女子面試被打后續:多處骨折,更多受害者發聲,打人只是冰山一角

削桐作琴
2025-07-25 12:48:07
陶喆再一次證明,娶妻要娶年紀小的,等你老了她還美得賞心悅目

陶喆再一次證明,娶妻要娶年紀小的,等你老了她還美得賞心悅目

情感大頭說說
2025-07-25 09:18:05
移英港人回流香港在圈內引發熱議,樓主爆粗稱移英是自毀前程!網友:身邊很多人寧愿放下面子回港重新開始!

移英港人回流香港在圈內引發熱議,樓主爆粗稱移英是自毀前程!網友:身邊很多人寧愿放下面子回港重新開始!

澳門月刊
2025-07-25 16:43:55
保時捷女銷冠真容曝光!工作6年還生了娃,同事披露她賣車多原因

保時捷女銷冠真容曝光!工作6年還生了娃,同事披露她賣車多原因

寒士之言本尊
2025-06-05 22:08:25
首例5胞胎長大了,父親已勞累去世,母親直言:如能重來一個也不要

首例5胞胎長大了,父親已勞累去世,母親直言:如能重來一個也不要

柳絮憶史
2025-07-22 07:15:03
全賣光了!貴州一家人套現42億,把爛攤子留給了8.8萬股民

全賣光了!貴州一家人套現42億,把爛攤子留給了8.8萬股民

毒sir財經
2025-04-25 22:21:31
殯儀館回應東北大學6名學生墜入浮選槽溺亡:遺體未受損,家屬暫未到達

殯儀館回應東北大學6名學生墜入浮選槽溺亡:遺體未受損,家屬暫未到達

極目新聞
2025-07-24 13:22:39
2025-07-26 00:39:01
數據結構和算法
數據結構和算法
專門介紹和寫算法題解的號
238文章數 3關注度
往期回顧 全部

科技要聞

36款熱門車高危智駕場景測試,“團滅”!

頭條要聞

8旬翁下葬前墓地被人埋死狗沿路埋鐵釘暗器 官方介入

頭條要聞

8旬翁下葬前墓地被人埋死狗沿路埋鐵釘暗器 官方介入

體育要聞

3年過去了,她還是歐洲杯上最酷的姐

娛樂要聞

汪蘇瀧不忍了 !張碧晨痛失《年輪》演唱權

財經要聞

劉煜輝:當下重要不是找確定性而是轉折點

汽車要聞

李斌一口氣講了近3個小時樂道L90 原因是為啥?

態度原創

數碼
教育
旅游
親子
公開課

數碼要聞

谷歌Pixel Watch 4智能手表曝光:充電口更改,配色更多

教育要聞

再獲國際物理奧賽金牌,南師附中學子勇登世界之巔!

旅游要聞

熱聞|清明假期將至,熱門目的地有哪些?

親子要聞

小宸哥歷險記之門外有人:不要給陌生人開門

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 南皮县| 玛曲县| 连城县| 宝清县| 丹寨县| 麟游县| 高尔夫| 西华县| 桂林市| 苏州市| 郑州市| 班戈县| 天水市| 乾安县| 遂川县| 高青县| 尤溪县| 邵武市| 抚宁县| 栾城县| 屏东县| 金平| 香格里拉县| 宁安市| 格尔木市| 常宁市| 漠河县| 仲巴县| 庆云县| 崇义县| 昌吉市| 太保市| 田东县| 海盐县| 互助| 勐海县| 龙陵县| 广饶县| 尖扎县| 麻城市| 龙泉市|