当前位置: 首页 > news >正文

代码随想录算法训练营第七天 |第454题.四数相加II、383. 赎金信、第15题. 三数之和

第454题.四数相加II

思路:因为是统计次数,不用考虑坐标和去重复,那我就可以把value值给想成该target出现的次数。先用两个数组构造哈希表,然后再用一个O(n*n)的双重循环,遍历剩下两个数组,用count统计出现次数。 
func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) int {//index valuehashmap_single := map[int]int{} for _, i2 := range nums1{for _,j2 := range nums2{hashmap_single[i2 + j2]++}}count := 0for _, i2  := range nums3{for _,j2 := range nums4{sum := -i2 - j2if value,find := hashmap_single[sum];find{count += value}}}return count
}

383. 赎金信

思路:将一个字符放进哈希表,然后遍历另一个数组,看他拥有的字符是不是能完全消除,字母够不够,够的话就能构造
func canConstruct(ransomNote string, magazine string) bool {hash := map[rune]int{}for _,i2 := range magazine{hash[i2]++}for _,i2 := range ransomNote{if hash[i2] == 0{return false}hash[i2]--}return true
}

  

383. 三数之和

思路:固定一个开头,然后向后遍历,依次存入hash表出现的数字,然后回头找。然后排序可以帮助去重。

 

func threeSum(nums []int) [][]int {var res [][]intn := len(nums)if n < 3 {return res}// 先排序,为去重做准备sort.Ints(nums)for i := 0; i < n-2; i++ {// 去重:第一个数重复时跳过(避免重复三元组)if i > 0 && nums[i] == nums[i-1] {continue}// 哈希表存储 i 之后的元素(值 -> 索引)seen := make(map[int]bool)for j := i + 1; j < n; j++ {target := -nums[i] - nums[j]// 检查哈希表中是否存在目标值(即第三个数)if seen[target] {// 找到有效三元组,加入结果集res = append(res, []int{nums[i], nums[j], target})// 去重:第二个数重复时跳过(避免同一i下的重复三元组)for j+1 < n && nums[j] == nums[j+1] {j++}}// 将当前j对应的元素存入哈希表,供后续j'(j' > j)查找seen[nums[j]] = true}}return res
}

  

http://www.sczhlp.com/news/129961/

相关文章:

  • sap和国家网站做接口wordpress vip
  • 免费网站建设哪个好 - 百度高端网站建设 磐石网络专注
  • 网站结构框架图怎么做网页制作赚钱吗
  • 线上推广的三种方式seo外链的常见措施
  • 如何上传文件到自己的网站太原优化排名推广
  • 杭州公司注销网站备案最新新闻事件摘抄
  • 怎样做网站二维码网站建设资金请示
  • 自己做网站运营网站验证码体验
  • 清远建网站的公司怎么申请一个免费的网站
  • 凡科快速建站网站推广的平台排名
  • 小破站下载临沂企业宣传片制作公司
  • 微商手机网站制作网站建设黄页免费观看
  • 沈阳网站推广优化公司简述商业网站建设的流程
  • 手机网站建设电话网站建设新闻发布注意事项
  • 什么是网站实施平台网站建设公司哪家好
  • 2025.9.23总结 - A
  • wordpress图片上传到云seo综合查询怎么用
  • 公司网站建设全企业建网站的工作
  • 网站备案信息加到哪里建设铝合金窗网站
  • 怎样建设和维护网站北京网站建设公司空间续费北京
  • 优秀网站例子东莞网络推广外包托管
  • 天津网站建设 seo公众号开发流程
  • 有什么好的网站吗万盛网站建设公司
  • 从3亿到48亿:NuGet周下载量跃迁背后的.NET生态演进与未来挑战(2019-2025)
  • 实用指南:PHP 使用说明
  • 重庆论坛新闻评论百度手机网站优化
  • 哪家公司做网站不错wordpress文章html代码
  • 免费的招聘网站wordpress站群 优化
  • 广州seo技术优化网站seo自己做开奖网站
  • 北京网站优化哪家公司好怎么下载建设银行网站