首页 > 编程语言 >代码随想录算法训练营day06 | 242.有效字母异位词

代码随想录算法训练营day06 | 242.有效字母异位词

时间:2024-05-13 13:54:55浏览次数:9  
标签:map val int 复杂度 242 随想录 day06 record ans

242.有效的字母异位词

题目链接 文章讲解 视频讲解

  • 时间复杂度 o(n)
  • 空间复杂度 o(n)
class Solution {
public:
    bool isAnagram(string s, string t) {
        unordered_map<char, int> s_map, t_map;
        for(char ch : s) s_map[ch]++;
        for(char ch : t) t_map[ch]++;
        return s_map == t_map;
    }
};

349.两个数组的交集

题目链接 文章讲解 视频讲解

  • 时间复杂度 o(n)
  • 空间复杂度 o(n)
class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> set1, set2;
        vector<int> ans;
        for(int val : nums1) set1.insert(val);
        for(int val : nums2) set2.insert(val);
        for(int val : set1) {
            if(set2.count(val)) ans.push_back(val);
        }
        return ans;
    }
};

202.快乐数

题目链接 文章讲解

  • 时间复杂度 o(logn) 计算方法暂时没有看
  • 空间复杂度 o(logn)
class Solution {
public:
    bool isHappy(int n) {
        set<int> record;
        int ans = 0;
        while(true) {
            if (n) {
                int temp = n  % 10;
                n = n / 10;
                ans += temp * temp;
            } else if (ans == 1) {
                return true;
            } else {
                if(record.count(ans)) return false;
                record.insert(ans);
                n = ans;
                ans = 0;
            }
        }
    }
};

1.两数之和

题目链接 文章讲解 视频讲解
下图来自官方题解下的评论:

  • 时间复杂度 o(n)
      注意:unordered_map的find()函数时间复杂度为o(1),而map的find()时间复杂度为o(logn),所以如果采用map总时间复杂度为o(nlong)
  • 空间复杂度 o(n)
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> record;
        for(int i = 0; i < nums.size(); ++i) {
            if(record.find(target - nums[i]) != record.end()) return { record[target - nums[i]], i }; 
            record[nums[i]] = i;
        }
        return {};        
    }
};

标签:map,val,int,复杂度,242,随想录,day06,record,ans
From: https://www.cnblogs.com/cscpp/p/18189042

相关文章

  • 代码随想录算法训练营第四天 | 23.两l两交换链表中的节点 19.删除链表的倒数第N个节点
    23.两两交换链表中的两个节点题目链接文章讲解视频讲解时间复杂度o(n)空间复杂度o(1)tips:画图,并将每一步操作用伪代码写出来,然后将代码理顺可以避免修改代码的麻烦初始化的时候就要将previous初始化为current的前一个节点,这样可以保证循环的第一步满足循环要求cla......
  • 代码随想录算法训练营第第二天 | 24. 两两交换链表中的节点 、19.删除链表的倒数第N
    两两交换链表中的节点用虚拟头结点,这样会方便很多。本题链表操作就比较复杂了,建议大家先看视频,视频里我讲解了注意事项,为什么需要temp保存临时节点。题目链接/文章讲解/视频讲解:https://programmercarl.com/0024.两两交换链表中的节点.html/***Definitionforsingly-li......
  • m2_day06 [线程池]
    课程内容:线程池的概念线程池的种类自定义线程池执行器线程池启动线程线程池的概念线程池:所谓线程池是一种标准的资源池模式​资源池模式就是在用户出现之前提前预留活跃资源从而在用户出现的第一时间直接满足用户对资源的需求并且将资源的新建......
  • ..\HAL_LIB\Inc\stm32l4xx_hal_rcc_ex.h(2424): error: #20: identifier "HAL_Sta
    stm32工程编译时遇到这个错误,显示HAL_StatusTypeDef没有被定义,但是go todefinition又能找到定义 后来在网上寻找解决办法,结果发现竟然是#include"stm32l4xx_hal_spi.h"#include"stm32l4xx_hal.h"这两个的顺序问题,#include"stm32l4xx_hal.h"头文件包含必须在最前面,真是......
  • 代码随想录训练营第三天 | 203.移处链表元素 707.设计链表 206.反转链表
    203.移除链表元素题目链接https://leetcode.cn/problems/remove-linked-list-elements/文章讲解https://programmercarl.com/0203.移除链表元素.html#算法公开课视频讲解https://www.bilibili.com/video/BV18B4y1s7R9/?vd_source=2b5b33d3d692b0064daff4e58957fc82tips:对......
  • m2_day06 [线程池]
    课程内容:线程池的概念线程池的种类自定义线程池执行器线程池的概念线程池:所谓线程池是一种标准的资源池模式​资源池模式就是在用户出现之前提前预留活跃资源从而在用户出现的第一时间直接满足用户对资源的需求并且将资源的新建和销毁操作都委托......
  • 代码随想录训练营第二天 | 977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II
    977.有序数组的平方题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/文章讲解:https://programmercarl.com/0977.有序数组的平方.html视频讲解:https://www.bilibili.com/video/BV1QB4y1D7ep暴力解时间复杂度O(nlogn)空间复杂度O(1)双指针法时间复......
  • 代码随想录算法训练营第第二天 | 977.有序数组的平方 、27. 移除元素
    977.有序数组的平方题目建议:本题关键在于理解双指针思想题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/文章讲解:https://programmercarl.com/0977.有序数组的平方.html视频讲解:https://www.bilibili.com/video/BV1QB4y1D7ep/***@param{number[]}nu......
  • 代码随想录算法训练营第第一天 | 704. 二分查找 、27. 移除元素
    704、二分查找题目链接:https://leetcode.cn/problems/binary-search/文章讲解:https://programmercarl.com/0704.二分查找.html视频讲解:https://www.bilibili.com/video/BV1fA4y1o715`varsearch=function(nums,target){letleft=0;letright=nums.length;letmi......
  • 代码随想录算法训练营第一天 | 704.二分查找 27.移除元素
    704.二分查找题目链接:https://leetcode.cn/problems/binary-search/文档讲解:https://programmercarl.com/0704.二分查找.html视频讲解:https://www.bilibili.com/video/BV1fA4y1o715左闭右开时间复杂度O(logn)空间复杂度O(1)classSolution{public:intsearch(......