首页 > 编程语言 >代码随想录算法训练营第五天| 242.有效的字母异位词 349. 两个数组的交集 1. 两数之和

代码随想录算法训练营第五天| 242.有效的字母异位词 349. 两个数组的交集 1. 两数之和

时间:2023-12-04 16:48:16浏览次数:49  
标签:set nums int 随想录 349 vector result nums1 两数

LeetCode 242.有效的字母异位词

题目链接:  LeetCode242

思路:  使用C++自带的库函数,经过排序后进行比较(使用库函数)

 

class Solution {
public:
    bool isAnagram(string s, string t) {  
        if(s.length() != t.length()) return false;

        sort(s.begin(),s.end());
        sort(t.begin(),t.end());

        return s==t;
    }
};

 

 

数组哈希映射:

class Solution {
public:
    bool isAnagram(string s, string t) {
        int record[26]={0};
        for(int i=0;i<s.size();i++){
            record[s[i]-'a']++;
        }
        for(int i=0;i<t.size();i++){
            record[t[i]-'a']--;
        }
        for(int i=0;i<26;i++){
            if(record[i]!=0){
                return false;
            }
        }
        return true;
    }
};

 

LeetCode 349. 两个数组的交集

题目链接:  LeetCode349

思路: 主要掌握unordered_set,将nums1放入去重的集合中,循环nums2在nums1中找nums1中存在的元素,找到了就放在result_set集合中

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> result_set; // 存放结果
        unordered_set<int> nums_set(nums1.begin(),nums1.end());
        for(int num:nums2){
            //发现nums2的元素,在nums_set里又出现过
            if(nums_set.find(num)!=nums_set.end()){
                result_set.insert(num);
            }
        }
        return vector<int>(result_set.begin(),result_set.end());
    }
};

 

LeetCode 1. 两数之和

题目链接:  LeetCode1

思路:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        std::unordered_map<int,int> map;
        for(int i=0;i<nums.size();i++){
            auto iter = map.find(target-nums[i]);
            if(iter!=map.end()){
                return {iter->second,i};
            }
            map.insert(pair<int,int>(nums[i],i));
        }
        return {};
    }
};

 

标签:set,nums,int,随想录,349,vector,result,nums1,两数
From: https://www.cnblogs.com/ygmzj/p/17874437.html

相关文章

  • day5代码随想录
    哈希表理论基础;242.有效的字母异位词349.两个数组的交集202.快乐数1.两数之和来源:代码随想录(programmercarl.com)​6.2哈希冲突-Hello算法(hello-algo.com)1哈希表理论基础又称散列表一般哈希表都是用来快速判断一个元素是否出现集合里。当我们遇到了......
  • Leetcode刷题day5-哈希表.异位词.交集.快乐数.两数和
    242.有效的字母异位词242.有效的字母异位词-力扣(LeetCode)给定两个字符串 _s_ 和 _t_ ,编写一个函数来判断 _t_ 是否是 _s_ 的字母异位词。注意:若 _s_ 和 _t_ 中每个字符出现的次数都相同,则称 _s_ 和 _t_ 互为字母异位词。示例 1:输入:s="anagram",......
  • 代码随想录算法训练营第5天 | lc242、lc349、lc202、lc1
    (本合集全部为Go语言实现)相关文章链接:242题解349202题解1题解相关视频链接:Leetcode242状态:秒了实现过程中的难点:对于元素固定是小写字母或类似的情况,可以使用数组,因为元素最大数量是固定的个人写法funcisAnagram(sstring,tstring)bool{iflen(s)!=len(t)......
  • [LeetCode Hot 100] LeetCode1. 两数之和
    题目描述思路:如果哈希表存在target-nums[i],则返回索引下标i和对应的key值(可以按任意顺序返回答案)如果哈希表中不存在target-nums[i],则存入nums[i]和对应的索引值方法一:哈希表classSolution{publicint[]twoSum(int[]nums,inttarget){//1.存放......
  • 代码随想录算法训练营第4天 | lc24、lc19、lc面试题02.07、lc142
    (本合集全部为Go语言实现)相关文章链接:24题解19题解02.07题解142题解相关视频链接:Leetcode24状态:秒了实现过程中的难点:对组内两个节点的指针指向流转需要倒腾明白。临时头结点真的很有用个人写法funcswapPairs(head*ListNode)*ListNode{tmpHead:=&ListNode{-......
  • 代码随想录算法训练营第3天 | leetcode203、leetcode707、leetcode206
    (本合集全部为Go语言实现)相关文章链接:203题解707题解206题解相关视频链接:Leetcode203状态:秒了实现过程中的难点:链表遍历一定要记得指针后移。另外,在头指针前加入一个新的临时头节点可以统一整个遍历过程,否则需要先确定初始时两指针的状态个人写法/***Definitionfo......
  • 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节
    LeetCode24.两两交换链表中的节点题目链接:LeetCode24思路:交换结点前将cur后第一个结点和第三个结点进行保存,然后修改cur指向头节点后再修改头节点后的结点classSolution{public:ListNode*swapPairs(ListNode*head){ListNode*dummyHead=newListNo......
  • 代码随想录算法训练营第三天 | 203.移除链表元素 707.设计链表 206.反转链表
    LeetCode 203.移除链表元素视频链接:LeetCode203思路:根据链表的性质,将目标值对应的节点保存在一个临时节点中,再重新设置cur下一个节点,再将临时节点进行删除classSolution{public:ListNode*removeElements(ListNode*head,intval){//删除头节点......
  • 代码随想录day4链表2
    day424.两两交换链表中的节点19.删除链表的倒数第N个节点面试题02.07.链表相交142.环形链表II总结资料来源:代码随想录(programmercarl.com)5.两两交换链表中的节点classSolution{private:/*data*/public:Solution(/*args*/);~Solution();......
  • 代码随想录day3链表1
    链表理论基础203.移除链表元素707.设计链表206.反转链表资料来源:代码随想录(programmercarl.com)1链表理论基础定义:是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。......