首页 > 编程语言 >代码随想录算法训练营第七天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和

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

时间:2023-12-19 20:57:13浏览次数:50  
标签:四数 15 454 复杂度 随想录 383 18

一、454.四数相加II

题目链接:

LeetCode 454.四数相加II

学习前:

思路:

  1. 首先定义两个HashMap对象record12和record34,对应的key存放两个数组元素的和,value存放计算的和出现的次数

  2. 接着遍历record12,若record存在与之和为0的元素,则计算两个value相乘的结果,并进行累积,作为输出的结果

时间复杂度:O(n^2)

空间复杂度:O(n^2)

学习后:

可以只定义一个HashMap对象,整体遍历两次,将后两个遍历一次性完成,降低时间复杂度

二、383. 赎金信

题目链接:

LeetCode 383. 赎金信

学习前:

思路:

  1. 与"LeetCode242.有效的字母异位词"的思路一致,定义一个长度为26的int数组,每个下表对应每个小写字符,值为小写字符出现的次数
  2. 对于ransom进行自增运算,对于magazine进行自减运算,最后对record进行判断,若所有的值均飞正,则返回true,反之false

时间复杂度:O(n+m)

空间复杂度:O(1)

学习后:

增加了对ransom和magazine长度的判断,一方面进行了优化,一方面更加严谨

三、15. 三数之和

题目链接:

LeetCode 15. 三数之和

思路混乱,暂时跳过

四、18. 四数之和

题目链接:

LeetCode 18. 四数之和

思路混乱,暂时跳过

五、学习总结

  1. 时间:1h
  2. 复习了哈希法的三种数据结构

标签:四数,15,454,复杂度,随想录,383,18
From: https://www.cnblogs.com/amulet/p/17914698.html

相关文章

  • (原)NCP170AMX280TBG 150mA(LDO)稳压器,TPS25942ARVCR功能丰富的电源管理器件
    1、NCP170AMX280TBGLDO稳压器,150mA,超低IqNCP170系列CMOS低漏稳压器特别适用于需要超低静止电流的便携式电池供电应用。典型值为500nA的超低耗量确保了较长的电池寿命和动态瞬变升压功能,改善了无线通信应用的器件瞬变反应。该器件采用小型1×1mmxDFN4、TSOP5和SOT-......
  • IDE之VS:Visual Studio的简介(包括 VS2013、VS2015、VS2017、VS2019、VS2022)、安装、
    原文链接:https://blog.csdn.net/qq_41185868/article/details/81052119最近开始使用vs2019,应该是最新的版本。之前都是vs2015,感觉19更智能,兼容性更好,速度也更快。详细了解下这几个版本。1、简介:MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品,功能完备的I......
  • [ABC315G] Ai + Bj + Ck = X (1 <= i, j, k <= N) 题解
    原题链接:ABC315G前置知识:扩展欧几里得算法。如果还不会扩欧的话,建议先去做这道题。题意给定\(n,a,b,c,k\)。求有多少个\(x,y,z(x,y,z\len)\)满足\(ax+by+cz=k\)。思路首先看到题目给出的方程式:\(ax+by+cz=k\)。我们会发现很像扩欧板子中的:\(ax+by=k\)。只不过又多了一......
  • day15(生成器)
    1.生成器对象1.本质 还是内置有__iter__和__next__的迭代器对象2.区别 迭代器对象是解释器自动提供的 数据类型\文件对象>>>:迭代器对象 生成器对象是程序员编写出来的 代码、关键字>>>:迭代器对象(生成器)3.创建生成器的基本语法 函数体代码中填写yield关键字......
  • 15. 三数之和
    题目15.三数之和要求给你一个整数数组 nums ,判断是否存在三元组 [nums[i],nums[j],nums[k]] 满足 i!=j、i!=k 且 j!=k ,同时还满足 nums[i]+nums[j]+nums[k]==0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例......
  • 18.四数之和
    题目18.四数之和要求给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a],nums[b],nums[c],nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):0<=a,b,c,d <na、b、c 和 d 互不......
  • 454.四数相加II
    题目454.四数相加II要求给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i,j,k,l) 能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0思考过程上来直接暴力破解,四层for循环,结果超时,代码如下:......
  • springboot015粮食仓库管理系统(毕业设计,附数据库和源码)
    一.4开发的技术介绍一.4.1Springboot介绍一.4.2Java语言一.4.3MySQL数据库一.5论文的结构二需求分析二.1需求设计二.2可行性分析二.2.1技术可行性二.2.2经济可行性二.2.3操作可行性二.3功能需求分析表2-1粮食仓库管理系统功能结构图三系统设计三.1数据库概念结构......
  • 12.15
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>房产经纪人页面</title><style>.form{width:600px;margin:0auto;/*bor......
  • 代码随想录--字符串
    344.反转字符串https://leetcode.cn/problems/reverse-string/classSolution{public:voidreverseString(vector<char>&s){intsize=s.size();for(intj=size-1,i=0;i<size/2;j--,i++){swap(s[i],......