【Lintcode】1230. Assign Cookies
題目地址:
https://www.lintcode.com/problem/assign-cookies/description
給定兩個陣列, A A A代表若干小朋友的貪吃指數, B B B代表若干糖果的尺寸,一個小朋友如果吃了大於其貪吃指數的尺寸的糖果,則可以得到滿足。每個小朋友最多吃一個糖果。問最多能有多少小朋友得到滿足。
先將 A A A和 B B B都從小到大排序,然後優先用尺寸最小的糖果滿足貪心指數最小的小朋友,這樣的方案是使得被滿足的小朋友數量最多的方案。證明可以使用調整法,如果有哪個糖果沒有滿足貪吃指數最小的小朋友,那就做調換;同理,如果某個小朋友被尺寸太大的糖果滿足,那也可以做調整。程式碼如下:
import java.util.Arrays;
public class Solution {
/**
* @param g: children's greed factor
* @param s: cookie's size
* @return: the maximum number
*/
public int findContentChildren(int[] g, int[] s) {
// Write your code here
Arrays.sort(g);
Arrays.sort(s);
int res = 0, i = 0, j = 0;
while (i < g.length && j < s.length) {
// 找到尺寸最小的滿足g[i]的糖果
while (j < s.length && s[j] < g[i]) {
j++;
}
// 如果找不到則退出迴圈
if (j == s.length) {
break;
}
// 找到了,則滿足之
res++;
i++;
j++;
}
return res;
}
}
時間複雜度 O ( l A log l A + l B log l B ) O(l_A\log l_A+l_B\log l_B) O(lAloglA+lBloglB),空間 O ( 1 ) O(1) O(1)。
相關文章
- 【LeetCode】455. Assign Cookies 分發餅乾(Medium)(JAVA)每日一題LeetCodeCookieJava每日一題
- CookiesCookie
- Response.cookies和Request.cookiesCookie
- Cookies & SessionCookieSession
- Object assign()Object
- object.assignObject
- 多域名共享 cookiesCookie
- Sanic Cookies 讀寫Cookie
- Another Intro for CookiesCookie
- Object.assign 模組Object
- Object.assign()方法Object
- C++:vector assignC++
- Cookies與會話物件Cookie會話物件
- assign 和 weak 區別?
- cookies sessionStorage和localstorage區別CookieSession
- ASP.NET 2.0 加密 CookiesASP.NET加密Cookie
- 使用程式碼如何清除CookiesCookie
- vue3-cookies元件使用VueCookie元件
- 為爬蟲獲取登入cookies: 使用browsercookie從瀏覽器獲取cookies爬蟲Cookie瀏覽器
- Object.assign()的痛點Object
- Object.assign()方法介紹Object
- weak和assign的區別
- [20210218]Select vs Assign – How To Assign PLSQL Variables.txtSQL
- Cypress系列(90)- Cypress.Cookies 命令詳解以及如何跨測試用例共享 CookiesCookie
- jmeter學習指南之管理CookiesJMeterCookie
- Request.Cookies使用方法分析Cookie
- Python Selenium如何操作CookiesPythonCookie
- requests返回值cookies轉字典Cookie
- jmeter通過cookies來登入JMeterCookie
- Android: HttpClient與Webview共享cookiesAndroidHTTPclientWebViewCookie
- [LintCode] Daily TemperaturesAI
- LintCode 子樹
- LintCode-Backpack
- LintCode-HeapifyAPI
- 詳細總結介紹Get和Post,Session和Cookies,Token和Cookies自登陸的思路SessionCookie
- Swift 之刪除清空 webView 的 CookiesSwiftWebViewCookie
- 請教一個cookies的問題Cookie
- [LintCode] Permutation in String