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

devtools/2024/9/23 9:22:16/

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/devtools/18122.html

相关文章

管理系统图片登录访问

图片就是url&#xff0c;但是有些管理系统的图片或者文件比较机密&#xff0c;需要登录之后才能访问&#xff0c;&#xff0c;就需要前端进行发送图片请求的时候携带上认证token&#xff0c;&#xff0c; 返回图片的二进制&#xff0c;然后再渲染到页面。。 FileReader使用 ax…

网络安全实训Day16

网络空间安全实训-渗透测试 漏洞扫描 定义 扫描和探测目标范围内的主机存在哪些安全漏洞&#xff0c;或扫描目标范围内的那些主机存在某个指定的漏洞 漏扫工具 AWVS APPScan MSF 使用MSF扫描漏洞并利用 1.搜索需要的攻击模块 search ms17-010 2.使用攻击模块 use 模块名称…

React自定义Hook函数:高效组件开发的秘密武器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

NLP大模型的训练

NLP模型的训练主要分成两步&#xff1a; 1.先进行通用任务的训练&#xff1b;无监督的样本是无穷无尽的&#xff1b; 这里列举两种&#xff1a;MLM和NSP,NSP由于在某些论文中被证明是无效的&#xff0c;所以用的少&#xff1b; MLM: 接下来会在特定任务上进行finetune>su…

使用API有效率地管理Dynadot域名,查询账户余额

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

如何通过美国多IP服务器优化大规模在线媒体传输?

如何通过美国多IP服务器优化大规模在线媒体传输? 在数字化时代&#xff0c;随着视频内容消费的持续增长&#xff0c;如何有效地传输大规模在线媒体成为了许多企业面临的挑战。美国多IP服务器的配置提供了一种有效的解决方案&#xff0c;不仅可以提高传输效率&#xff0c;还能…

OpenHarmony实战开发-页面布局检查器ArkUI Inspector使用指导

DevEco Studio内置ArkUI Inspector工具&#xff0c;开发者可以使用ArkUI Inspector&#xff0c;在DevEco Studio上查看应用在真机上的UI显示效果。利用ArkUI Inspector工具&#xff0c;开发者可以快速定位布局问题或其他UI相关问题&#xff0c;同时也可以观察和了解不同组件之间…

CYCLE:学习自我完善代码生成

目录 IntriductionOverview of the Approach 预训练的代码语言模型在代码生成方面取得了可喜的性能&#xff0c;并提高了人类开发人员的编程效率。然而&#xff0c;现有的代码 LM 评估通常忽略了它们的 自我求精能力&#xff0c;这些评估仅关注一次性预测的准确性。对于代码 L…