LeetCode小演算法記錄(一)

2021-10-03 11:28:46 字數 801 閱讀 7533

給定兩個排序後的陣列 a 和 b,其中 a 的末端有足夠的緩衝空間容納 b。 編寫乙個方法,將 b 合併入 a 並排序。

初始化 a 和 b 的元素數量分別為 m 和 n。

示例:輸入:

a = [1,2,3,0,0,0], m = 3

b = [2,5,6],       n = 3

輸出: [1,2,2,3,5,6]

package leetcodetest;

public class 合併排序陣列 ;

int m = 3;

int b = ;

int n = 3;

merge(a,m,b,n);

}/**

* 演算法思路,由於陣列a與陣列b都是已經排好序的陣列,我們只需要將兩個陣列從後往前比較,

* 將最大的結果倒序插入到陣列a中,例如該程式中,a、b均含有三個數字則比較a[2]是否小於b[2],

* 如果小於,就將b[2]賦值給a[5],然後繼續比較a[2]與b[1],根據結果將b中的值放入到a[4],以此類推,

* 直到出現a[2]大於b[0],如果出現這種情況就將a[2]放入到現在的a[3],然後繼續比較a[1]與b[0],

* 直到a[1]=b[0]就將b[0]放入a[2],合併完成。

* @param a

* @param m

* @param b

* @param n

*/public static void merge(int a, int m, int b, int n)

}}

LeetCode小演算法記錄(五十七)打家劫舍

你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...

LeetCode小演算法記錄(八十二)硬幣

硬幣。給定數量不限的硬幣,幣值為25分 10分 5分和1分,編寫 計算n分有幾種表示法。結果可能會很大,你需要將結果模上1000000007 示例1 輸入 n 5 輸出 2 解釋 有兩種方式可以湊成總金額 5 55 1 1 1 1 1 示例2 輸入 n 10 輸出 4 解釋 有四種方式可以湊成總金額...

leetcode演算法小基礎第一題

玩玩演算法入門題,下面是問題 給你乙個整數陣列 arr 請你將陣列中的元素按照其二進位制表示中數字 1 的數目公升序排序。如果存在多個數字二進位制中 1 的數目相同,則必須將它們按照數值大小公升序排列。請你返回排序後的陣列。這道題是leetcode上很基礎的題,我也剛做完,熱乎的,上手用吧,我也是才...