• 2024-11-18代码随想录算法训练营第六天|哈希表|LC242. 有效的字母异位词|LC349. 两个数组的交集|LC202. 快乐数|LC1. 两数之和
    哈希表    哈希表:用来快速判断一个元素是否出现在集合里;O(1);    哈希碰撞:比如小王和小李都映射到索引下表1的位置,有2中解决办法(拉链法和线性探测法);    拉链发:通过索引找到,其实拉链发就是要选择适当的哈希表的大小,这样既不会因为数组空值而浪费大量内
  • 2024-11-17leetcode 1. 两数之和
    给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。解1:hashclassSolution(object):deftw
  • 2024-11-15LeetCode100之两数相加(2)--Java
    1.问题描述        给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0 开头。     
  • 2024-11-13力扣.1 两数之和 N 种解法 two-sum
    数组系列力扣数据结构之数组-00-概览力扣.53最大子数组和maximum-subarray力扣.128最长连续序列longest-consecutive-sequence力扣.1两数之和N种解法two-sum力扣.167两数之和IItwo-sum-ii力扣.170两数之和IIItwo-sum-iii力扣.653两数之和IVtwo-sum-
  • 2024-11-12力扣 653. 两数之和 IV 二叉树/binary-tree two-sum IV
    数组系列力扣数据结构之数组-00-概览力扣.53最大子数组和maximum-subarray力扣.128最长连续序列longest-consecutive-sequence力扣.1两数之和N种解法two-sum力扣.167两数之和IItwo-sum-ii力扣.170两数之和IIItwo-sum-iii力扣.653两数之和IVtwo-sum-IV力
  • 2024-11-11力扣 170. 两数之和 III - 数据结构设计 two-sum III
    数组系列力扣数据结构之数组-00-概览力扣.53最大子数组和maximum-subarray力扣.128最长连续序列longest-consecutive-sequence力扣.1两数之和N种解法two-sum力扣.167两数之和IItwo-sum-ii力扣.170两数之和IIItwo-sum-iii力扣.653两数之和IVtwo-sum-IV力
  • 2024-11-111. 两数之和
    题目链接解题思路:方法一:两个for循环,时间复杂度:O(n^2)方法二:先排序,然后双指针,时间复杂度:O(n*logn)方法三:使用一个set,从左往右遍历,每次遍历到一个数num,先查找set,是否存在target-num的数,如果存在,直接返回了。时间复杂度:O(n)。因为题目需要下标,所以要用map,value就是下
  • 2024-11-04leetcode-hot100-两数之和
    两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。示例输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums
  • 2024-11-04LeetCode 每日一题,用 Go 实现两数之和的非暴力解法
    题目给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],target
  • 2024-11-02两数之和(双指针法)
     给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列  ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1<=index1<index2<=numbers.length 。以长度为2的
  • 2024-10-31两数之和到哈希表
    两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,
  • 2024-10-30代码随想录算法训练营第六天| leetcode242.有效的字母异位词、leetcode349.两个数组的交集、leetcode202.快乐数、leetcode1.两数之和
    1.leetcode242.有效的字母异位词题目链接:242.有效的字母异位词-力扣(LeetCode)文章链接:代码随想录视频链接:学透哈希表,数组使用有技巧!Leetcode:242.有效的字母异位词哔哩哔哩bilibili自己的思路:首先就是对字符串进行分开成一个一个单独的字母,然后使用列表存储这些数据,再对
  • 2024-10-30【LeetCode】两数之和、大数相加
    主页:HABUO
  • 2024-10-24解决数组两数之和问题与逻辑推理找出谋杀案凶手
    给定一个整数数组nums和一个整数目标值target(2<=nums.length<=10^4),请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],t
  • 2024-10-21代码随想录算法训练营第六天| leetcode242.有效的字母异位词、leetcode349.两个数组的交集、leetcode202.快乐数、leetcode1.两数之和
    1.leetcode242.有效的字母异位词题目链接:242.有效的字母异位词-力扣(LeetCode)文章链接:代码随想录视频链接:学透哈希表,数组使用有技巧!Leetcode:242.有效的字母异位词_哔哩哔哩_bilibili自己的思路:首先就是对字符串进行分开成一个一个单独的字母,然后使用列表存储这些数据,再对
  • 2024-10-09【JS】哈希法解决两数之和
    思路使用哈希法:需要快速查询一个元素是否出现过,或者一个元素是否在集合里时本题需要一个集合来存放我们遍历过的元素,然后在遍历数组的时候去询问这个集合,符合要求的某元素是否遍历过,也就是是否出现在这个集合。因为要返回下标,所以使用Map集合,key存放元素值,value存放元素下
  • 2024-10-01代码随想录算法训练营第六天|242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和
    ​学习链接:https://programmercarl.com/哈希表理论基础.html学习笔记:遇到“要判断一个值是否在集合中出现过”的问题时,可以考虑hash表。hash表的形式包括数组、set、dict。当数的位数比较统一、或比较小,可用数组,快;当数的位数可变,可用set;当要同时考虑数的下标和值,可以用dict。
  • 2024-09-30C++入门基础知识91(实例)——实例16【求两数最小公倍数】
    成长路上不孤单
  • 2024-09-29C语言 | Leetcode C语言题解之第445题两数相加II
    题目:题解:structListNode*addTwoNumbers(structListNode*l1,structListNode*l2){intstack1[100];intstack2[100];inttop1=0;inttop2=0;intcarry=0;intsum=0;structListNode*temp=NULL;structListNode*he
  • 2024-09-29C++ | Leetcode C++题解之第445题两数相加II
    题目:题解:classSolution{public:ListNode*addTwoNumbers(ListNode*l1,ListNode*l2){stack<int>s1,s2;while(l1){s1.push(l1->val);l1=l1->next;}while(l2){
  • 2024-09-28C++入门基础知识90(实例)——实例15【求两数的最大公约数】
    成长路上不孤单
  • 2024-09-261. 两数之和题解
    题目描述[!NOTE]总结:找出整数数组中两数之后等于目标值的两个数,然后返回其下标给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素
  • 2024-09-19算法-两数相加(150)
     我们首先创建一个虚拟头节点dummy,它的主要作用是简化边界条件的处理。然后,我们使用一个循环来遍历两个链表,同时考虑进位。在循环中,我们计算当前位的和(包括从上一个计算中可能遗留下来的进位),然后更新进位和当前节点。如果两个链表中的某个链表已经遍历完,我们将对应的值视为0
  • 2024-09-17Day5||242.有效的字母异位词|349.两个数组的交集|202.快乐数|1.两数之和
    哈希表理论基础哈希表(hashtable):是根据关键码的值而直接进行范围的数据结构。如数组也是一张哈希表。 解决问题:一般哈希表都是用来快速判断一个元素是否出现集合里。(牺牲空间换取时间)例如要查询一个名字是否在这所学校里。要枚举的话时间复杂度是O(n),但如果使用哈希表
  • 2024-09-16【1. 两数之和】
    题目:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],target