首页 > 其他分享 >代码随想录day7|454. 四数相加 II、383. 赎金信、15. 三数之和、18. 四数之和

代码随想录day7|454. 四数相加 II、383. 赎金信、15. 三数之和、18. 四数之和

时间:2023-02-21 23:00:52浏览次数:43  
标签:map 四数 15 三数 相加 随想录 赎金 left

四数相加||

  1, 简单的两层 for循环 map.put(i+j, map.getOrDefault(i+j,0));

  2, res+=map.getOrDefault(-i-j,0);

 赎金信

  1, 定义一个26长的数组记录 res[ s1.charAt(i)-'a'] ++;

三数之和

  1, 双指针法, 如果三数相加小于0 left++, 如果三数相加大于0 right--;

  2, left和right的去重在 temp==0后 while(left<right&&nums[left]==nums[left+1]) left++;

  3, i的去重在while(left<right)循环前  if(i>=1&&nums[i]==nums[i-1]) continue; 

四数之和

  1, 在三数之和上 多一层循环 j做好去重

  2, 有很多剪枝操作没做好, 

标签:map,四数,15,三数,相加,随想录,赎金,left
From: https://www.cnblogs.com/Liu5419/p/17142849.html

相关文章