18.哀家要长脑子了!

2024-04-29 04:36
文章标签 18 要长 脑子 哀家

本文主要是介绍18.哀家要长脑子了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.242. 有效的字母异位词 - 力扣(LeetCode)

用一个flag数组,s出现的 加! t出现的 减! 这样s和t中每个字符出现的次数相同的话,就会加多少减多少,flag数组的元素值都会是0

class Solution {
public:bool isAnagram(string s, string t) {int flag[26] = {0};for(int i = 0; i < s.length(); i++){flag[s[i] - 'a']++;}for(int i = 0; i < t.size(); i++){flag[t[i]  - 'a']--;}for(int i = 0; i < 26; i++){if(flag[i] != 0)return false;}return true;}
};
2.349. 两个数组的交集 - 力扣(LeetCode)

使用set 

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> res;unordered_set<int> s(nums1.begin(), nums1.end());for(int num: nums2){if(s.find(num) != s.end()){res.insert(num);} }return vector<int>(res.begin(), res.end());}
};

使用标记数组

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> res;int flag[1005] = {0};for(int num: nums1){flag[num] = 1;}for(int num : nums2){if(flag[num] != 0){res.insert(num);}}return vector<int>(res.begin(), res.end());}
};

 哎呀,其实我觉得这两个没有本质的区别,只是表现方式换了而已

使用标记数组的话,先遍历一边nums1数组,把num1数组中有的元素标记为1,再遍历一遍nums2数组,nums2数组的元素作为flag数组的下标,如果此时元素值不为0,说明该元素(下标)在nums1中出现,可不就是交集吗

使用set的话,先把nums1数组中不同的的元素放到set里面,再遍历一遍nums2。

// 如果在s中没有找到num就会返回set中最后一个元素(end迭代器)

s.find(num) != s.end()  

 如果不等于说明找到了,也是交集啦

一天不写题,别人不知道,自己知道啊

这篇关于18.哀家要长脑子了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945122

相关文章

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统

react笔记 8-18 事件 方法 定义方法 获取/改变数据 传值

1、定义方法并绑定 class News extends React.Component {constructor(props) {super(props)this.state = {msg:'home组件'}}run(){alert("我是一个run") //方法写在类中}render() {return (<div><h2>{this.state.msg}</h2><button onCli

Day18_0.1基础学习MATLAB学习小技巧总结(18)——MATLAB绘图篇(1)

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。 参考书目:《MATLAB基础教程 (第三版) (薛山)》 之前的章节都是基础的数据运算用法,对于功课来说更加重要的内容是建模、绘图、观察数据趋势,接下来我会结合自己的使用经验,来为大家分享绘图、建模使用的小技巧。 二维图形绘制 在本章开

18. 4 Sum

题目: 解答: 与之前的三数之和的解法类似,也是先排序,然后不断剔除不可能的条件,最后两个参数,通过两头求和计算得出。 代码: class Solution {public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> result;int len = nums.size

系统架构师考试学习笔记第三篇——架构设计高级知识(18)面向服务架构设计理论与实践

本章考点:         第18课时主要学习面向服务架构设计理论与实践。根据考试大纲,本课时知识点会涉及单选题型(约占2~5分)和案例题(25分),本课时内容偏重于方法的掌握和应用,根据以往全国计算机技术与软件专业技术资格(水平)考试的出题规律,概念知识的考查内容多数来源于实际应用,还需要灵活运用相关知识点。         本课时知识架构如图18.1所示。 一、SOA的相关概念 (

PHP 验证身份号码 包括15位18位

查了很多资料 发现网上身份证15位的验证并不是那么严谨  今天研究了一下  代码如下 <?phpfunction check_id_card($num){//老身份证长度15位,新身份证长度18位$length = strlen($num);if ($length == 15) { //如果是15位身份证//15位身份证没有字母if (!is_numeric($num)) {return fa

redis 实现单位时间内错误记录 时间到key值就被清除------最近脑子不好使觉得还是写个博客试试

直接在客户端操作的, 所以需要redis的简单命令  去对比JAVA客户端jedis的命令就行   添加---set     格式 set  key  value  EX time(秒)   如果这个time不添加的话 ,那默认就是 永久 获取--get    格式 get key  ---查看剩余时间    格式 TTL key ---实现key实现自增: inrc key

最简单的使用JDBC[连接数据库] mysql 2019年3月18日

最极简版本的, 我们这里以mysql为例: 首先要创建maven工程, 需要引入jar包:,这里需要注意, 如果你安装的是mysql最新版本8以上的, 下面有些地方需要更改,具体就是mysql连接的url, 和5版本的不一样,具体解决请自行百度哈.这里只演示mysql5版本的? 依赖: <dependency>   <groupId>mysql</groupId>   <artifactId

实变函数精解【18】

文章目录 有限测度有限测度概率测度有限测度与概率测度的关系 σ \sigma σ-有限测度计数测度完备概率测度 参考文献 有限测度 首先,我们来明确“测度”的概念。在数学中,测度是一个将集合映射到非负实数(通常是实数的扩展,包括正无穷)的函数,它满足某些特定的性质,比如非负性、可加性等。有了这个基础,我们可以进一步探讨有限测度和概率测度的具体定义和它们之间的关系。 有限测度

【ACdream】ACdream原创群赛(18)のAK's dream

这次的群赛AK的不少,7题的也很多啊。。Orrrrrrrz。。。。 暂时只写出7题。。。 A:1196 模拟。。 /** this code is made by poursoul* Problem: 1196* Verdict: Accepted* Submission Date: 2014-09-06 19:12:44* Time: 0MS* Memo