java題解LeetCode454.四數(shù)相加示例
正文
給你四個(gè)整數(shù)數(shù)組 nums1、nums2、nums3 和 nums4 ,數(shù)組長(zhǎng)度都是 n ,請(qǐng)你計(jì)算有多少個(gè)元組 (i, j, k, l) 能滿(mǎn)足:
0 <= i, j, k, l < n
nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0
解決問(wèn)題
將n的四次方轉(zhuǎn)變?yōu)閚的平方,主要通過(guò)按兩個(gè)兩個(gè)分組打包實(shí)現(xiàn),此外注意map中記錄的是前兩個(gè)數(shù)組中的內(nèi)容兩兩相加的值的出現(xiàn)次數(shù),這樣做是為了在后面兩個(gè)數(shù)組中尋找時(shí),對(duì)于每個(gè)匹配的組合,都在總的次數(shù)中加上對(duì)應(yīng)值出現(xiàn)次數(shù),這樣做是因?yàn)樵擃}不去重,每個(gè)元組都是獨(dú)特的,所以都要算上
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
int n=nums1.length;
int count=0;
Map<Integer,Integer> map=new HashMap<>();
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if(map.containsKey(nums1[i]+nums2[j])){
int temp=map.get(nums1[i]+nums2[j])+1;
map.put(nums1[i]+nums2[j],temp);
}
else{
map.put(nums1[i]+nums2[j],1);
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
int temp=-(nums4[j]+nums3[i]);
if(map.containsKey(temp)){
count=count+map.get(temp);
}
}
}
return count;
}以上就是java題解LeetCode454.四數(shù)相加示例的詳細(xì)內(nèi)容,更多關(guān)于java LeetCode四數(shù)相加的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot中使用?ThreadLocal?進(jìn)行多線程上下文管理及注意事項(xiàng)小結(jié)
本文詳細(xì)介紹了ThreadLocal的原理、使用場(chǎng)景和示例代碼,并在SpringBoot中使用ThreadLocal保存請(qǐng)求中攜帶的用戶(hù)信息,ThreadLocal通過(guò)為每個(gè)線程維護(hù)獨(dú)立的變量副本,解決了線程安全問(wèn)題,感興趣的朋友一起看看吧2025-02-02
SpringBoot統(tǒng)一功能處理實(shí)現(xiàn)的全過(guò)程
最近在做項(xiàng)目時(shí)需要對(duì)異常進(jìn)行全局統(tǒng)一處理,主要是一些分類(lèi)入庫(kù)以及記錄日志等,下面這篇文章主要給大家介紹了關(guān)于SpringBoot統(tǒng)一功能處理實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
SpringMVC日期類(lèi)型接收空值異常問(wèn)題解決方法
這篇文章主要介紹了SpringMVC日期類(lèi)型接收空值異常問(wèn)題解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
IDEA導(dǎo)入Springboot項(xiàng)目,注解和pom文件不識(shí)別的解決
這篇文章主要介紹了IDEA導(dǎo)入Springboot項(xiàng)目,注解和pom文件不識(shí)別的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
tomcat報(bào)錯(cuò):Wrapper cannot find servlet class ...問(wèn)題解決
這篇文章主要介紹了tomcat報(bào)錯(cuò):Wrapper cannot find servlet class ...問(wèn)題解決的相關(guān)資料,需要的朋友可以參考下2016-11-11
詳解spring開(kāi)發(fā)_JDBC操作MySQL數(shù)據(jù)庫(kù)
本篇文章主要介紹了spring開(kāi)發(fā)_JDBC操作MySQL數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12
java算法實(shí)現(xiàn)紅黑樹(shù)完整代碼示例
這篇文章主要介紹了java算法實(shí)現(xiàn)紅黑樹(shù)完整代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
Java中Map實(shí)現(xiàn)線程安全的3種方式
本文主要介紹了Java中Map實(shí)現(xiàn)線程安全的3種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

