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

server/2024/9/25 17:06:00/

242. 有效的字母异位词

题意

两个字符串中每个字符的出现次数是否一样

hash

bool isAnagram(char* s, char* t) {int array[30];memset(array, 0, sizeof(int) * 30);for (int i = 0; s[i] != '\0'; i++) {array[s[i] - 'a']++;}for (int i = 0; t[i] != '\0'; i++) {array[t[i]-'a']--;}for (int i = 0; i < 27; i++) {if (array[i] != 0) {return false;}}return true;
}

349. 两个数组的交集

题意

找出两个数组中重复的数字

int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) {int hash[1005];int i, k = 0;int *ans = (int *)malloc(sizeof(int) * (1005));memset(hash, 0, sizeof(int) * (1005));memset(ans, 0, sizeof(int) * (1005));for (i = 0; i < nums1Size; i++) {hash[nums1[i]] = 1;}for (i = 0; i < nums2Size; i++) {if (hash[nums2[i]] == 1) {ans[k++] = nums2[i];hash[nums2[i]] = 0;}}*returnSize = k;return ans;
}

leetcode返回数组时, 注意要给返回的数组指定长度

202. 快乐数

题意

一个整数的各位平方和如果最后为1, 就是快乐数. 如果不是快乐数, 就会一直循环下去

看的题解
非快乐数的平方会陷入一个循环中, 由于会重复出现, 所以和就会出现快慢相撞

int getsum(int n) {int sum = 0;while (n) {sum += (n%10) * (n%10);n /= 10;}return sum;
}bool isHappy(int n) {int slow, fast;slow = fast = n;do {slow = getsum(slow);fast = getsum(getsum(fast));} while (slow != fast);return fast == 1;
}

1. 两数之和

题目链接

题意

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

看的题解

  • 什么时候使用哈希法,当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。

  • 因为本题,我们不仅要知道元素有没有遍历过,还要知道这个元素对应的下标,需要使用 key value结构来存放,key来存元素,value来存下标,那么使用map正合适。

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 {};}
};

http://www.ppmy.cn/server/17583.html

相关文章

算法矩阵提速原理

不管是图形还是AI&#xff0c;如果看过相关的算法&#xff0c;都会注意到矩阵运算&#xff0c;很多讲算法的教程都会说将for转换成矩阵&#xff0c;可以极大的增加效率。 但是这不是为难我们这些数学低能儿吗&#xff1f;矩阵运算这些高级货算是高级数学了&#xff0c;比CURD还…

Linux交换空间的创建使用

交换空间&#xff1a; 换出&#xff1a;将内存中不常用&#xff08;冷数据&#xff09;的放去硬盘里 换出&#xff1a;内存要使用这部分数据时&#xff0c;将硬盘的这部分数据放入内存 在内存和硬盘上用来交换数据的空间就是交换空间 创建交换空间的步骤 1.去磁盘上创建一个分…

运维监控linux服务器异常状态,

做好服务器运维工作&#xff0c;及时发现服务器状态异常&#xff0c;要做到第一时间知道&#xff0c;只需写个python监控脚本即可&#xff0c;&#xff08;钉钉配置通知&#xff09;以下是详细监控linux服务器脚本代码&#xff1a; # -*- coding: utf-8 -*- import threadingi…

Qt下使用OpenCV截取图像并在QtableWidget表格上显示

文章目录 前言一、在QLabel上显示图片并绘制矩形框二、保存矩形框数据为CSV文件三、保存截取图像四、将截取图像填充到表格五、图形视图框架显示图像六、示例完整代码总结 前言 本文主要讲述了在Qt下使用OpenCV截取绘制的矩形框图像&#xff0c;并将矩形框数据保存为CSV文件&a…

【舞台灯方案】LED驱动恒流芯片pwm深度调光APS54085降压IC

产品描述 APS54085 是一款 PWM 工作模式,高效率、外围简单、内置功率 MOS 管&#xff0c;适用于 5-100V输入的高精度降压 LED 恒流驱动芯片。最大电流2.0A。 APS54085 可实现线性调光和 PWM 调光&#xff0c;线性调光有效电压范围 0.52-2.55V. PWM 调光频率范围 100HZ-30KHZ。…

java:Http协议和Tomcat

HTTP协议 Hyper Text Transfer Protocol 超文本传输协议,规定了浏览器和服务器之间数据传输的规则 特点: 基于TCP协议,面向连接,安全 基于请求响应模型:一次请求对应一次响应 HTTP协议是无状态协议,对事务的处理没有记忆能力,每次请求-响应都是独立的. 优点 速度较快 …

torch.mm函数介绍

torch.mm() 是 PyTorch 中用于执行矩阵乘法&#xff08;matrix multiplication&#xff09;的函数。它能够将两个给定的张量进行矩阵乘法运算&#xff0c;得到结果张量。 这是 torch.mm() 函数的基本语法&#xff1a; torch.mm(input, mat2, *, outNone)input: 第一个输入张量…

hadoop大数据原理与应用------初识Hadoop数据集

哪种运行模式是使用Hadoop的最佳方式&#xff0c;真实Hadoop集群的运行均采用该模式&#xff1f; 真实Hadoop集群的运行通常采用全分布模式&#xff08;Fully Distributed Mode&#xff09;。在全分布模式下&#xff0c;Hadoop集群会跨越多个物理或虚拟节点&#xff0c;每个…