24.哀家要长脑子了!

2024-05-04 14:20
文章标签 24 要长 脑子 哀家

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

目录

1.594. 最长和谐子序列 - 力扣(LeetCode)

2.350. 两个数组的交集 II - 力扣(LeetCode)

3.554. 砖墙 - 力扣(LeetCode)

 4.9. 回文数 - 力扣(LeetCode)

 5.13. 罗马数字转整数 - 力扣(LeetCode)

6.58. 最后一个单词的长度 - 力扣(LeetCode)


1.594. 最长和谐子序列 - 力扣(LeetCode)

烦死了烦死了!!总是模模糊糊一知半解的感觉,然后感觉自己能做,搞半天又去看题解了,搞毛啊你。

 这个map中的索引key是num元素,val是这个num元素又多少个啊。

 

class Solution {
public:int findLHS(vector<int>& nums) {unordered_map<int, int> map;for(int num : nums){map[num]++;}int res = 0;for(auto [key,val] : map){if(map.count(key+1)){res = max(res, val + map[key+1]);}}return res;}
};
2.350. 两个数组的交集 II - 力扣(LeetCode)

 

这个题目有意思的地方就在于,它不仅仅只是交集元素出现,这个交集元素在答案它还要重复出现, 出现多少次呢,以出现次数少的那次为标准。

怎么做到的呢:首先以长度小的数组记录到map中。 然后就需要操作map中的val值了,找到一次num并且判断它在map中作为索引所对应的值不为0,就可以把它记录到答案中去,然后要减一。代表它出现的次数少一次了。

class Solution {
public:vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {if(nums1.size() > nums2.size()) return intersect(nums2, nums1);unordered_map<int, int> map;for(int num : nums1){map[num]++;}vector<int> res;for(int num : nums2){if(map.count(num) && map[num] != 0){res.push_back(num);--map[num];}}return res;}
};
3.554. 砖墙 - 力扣(LeetCode)

晕头转向 晕头转向哈哈哈 要不这堵墙撞死我吧

要找穿过砖块数量最少的等价于要找砖块边缘线穿过行数最多的。

我其实没有搞懂,我只能对着代码解释一下我自己的理解 ToT。

哈希表cnt中记录的是,在不同水平位置上的累计砖块宽度值出现的次数。这里的”累计砖块宽度值“指的是从墙最左边开始到某个点为止,所有砖块宽度的和 (但不包括最后一块砖的宽度,因为我们关心的是缝隙的位置),就是找缝隙。

以上图中的样例为准,一行一行遍历得出的map就是这样子的 意思就是,第1块砖后面有缝隙的有3行,第3块砖后面有缝隙的有2行,第5块砖后面有缝隙的有2行,以此类推....

把总的行数减去砖块行数被共享最多的缝隙数,就是可以跨过最少的砖块行数。

class Solution {
public:int leastBricks(vector<vector<int>>& wall) {unordered_map<int,int> cnt;for(auto &widths : wall){int n = widths.size();int sum = 0;for(int i = 0; i < n - 1; i++){sum += widths[i];cnt[sum]++;}}int maxCnt = 0;for(auto& [_, c] : cnt){maxCnt = max(maxCnt, c);}return wall.size() - maxCnt;}
};
 4.9. 回文数 - 力扣(LeetCode)

小姐姐吃完方便面和两个Q蒂还有辣条回来开始水题了 哈哈。。。。

nia,我都不好意思说出来,那行关键代码我没写出又死懒,直接看的答案。我服了妈妈

res = res * 10 + n % 10;

class Solution {
public:bool isPalindrome(int x) {if(x < 0) return false;long long n = x, res = 0;while(n){res = res * 10 + n % 10;n /= 10; }if(res == x)return true;elsereturn false;}
};
 5.13. 罗马数字转整数 - 力扣(LeetCode)

 

 是一道数学技巧题的感觉,当时感觉总是静不下心来,只想快点搞完走了,感觉是不是吃零食吃多了的原因,有点浮躁

其实就是用一个map把他们的映射关系存起来,罗马数字是索引,阿拉伯数字是值。然后判断一下左边的是不是比右边的小,如果是的话就把左边这个数字变为负的,嗯,就是酱紫,为什么你不会做。。。。。。。。

class Solution {
public:int romanToInt(string s) {unordered_map<char, int> map = {{'I', 1},{'V', 5},{'X', 10},{'L', 50},{'C', 100},{'D', 500},{'M', 1000}};int res = 0;for(int i = 0; i < s.size(); i++){if(i < s.size() - 1 && map[s[i]] < map[s[i+1]]){res -= map[s[i]]; }else{res += map[s[i]];}}return res;}
};
6.58. 最后一个单词的长度 - 力扣(LeetCode)

是这样啊:要判断最后一个单词的长度,那就从字符串的末尾开始找噻。看样例可以发现最后一个单词后面还可能有空格,那就把指针先移动到不是空格的位置噻。

class Solution {
public:int lengthOfLastWord(string s) {int n = s.size() - 1;while(s[n] == ' '){n--;}int res = 0;while(n >= 0 && s[n] != ' '){n--, res++;}return res;}
};

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



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

相关文章

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

【A题成品论文已出】24数学建模国赛A题成品论文(附参考代码)免费分享

A 题  “板凳龙”  闹元宵 摘要 “板凳龙”是一种传统的民俗文化活动,通常由许多板凳连接成龙的形状进行表演。本文基于螺旋线和板凳龙的运动特性,建立数学模型来分析舞龙队在不同情况下的运动轨迹、调头路径和速度优化等问题。问题主要涉及板凳龙的行进路径、碰撞避免、调头空间的设计,以及如何优化龙头的速度,以确保龙身与龙尾的行进安全。 针对问题一,舞龙队由223节板凳组成,龙头前把手的速度为1

【Git 学习笔记_24】Git 使用冷门操作技巧(四)——更多实用 git 别名设置、交互式新增提交

文章目录 11.8 更多别名设置别名1:只查看当前分支(git b)别名2:以图表形式显示自定义格式的 git 日志(git graph)别名3:查看由于合并分支导致的冲突后仍有冲突的、待合并的文件列表(git unmerged)别名4:查看 git 状态(git st)别名5:查看 git 简要状态(git s)别名6:查看最新版本的统计信息(git l1)别名7:查看最近 5 个版本的提

Leetcode面试经典题-24.两两交换链表中的节点

解法都在代码里,不懂就留言或者私信 这里先写一个递归的解,如果后面有时间,我再写个迭代的 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val =

图形API学习工程(24):D3D11读取非DDS格式的CubeMap

工程GIT地址:https://gitee.com/yaksue/yaksue-graphics 目标 在《图形API学习工程(21):使用CubeMap纹理》中,由于DirectX读取CubeMap的教程范例都是DDS格式的纹理,因此我也首先实现了DDS的版本,期望之后做处理。 上一篇使D3D12可以用非DDS格式的CubeMap了,本篇目标将是D3D11。 分析当前的流程 当前使用D

数字人直播防封技巧升级!头部源码厂商如何实现7*24小时无间断直播?

当前,许多用户在使用数字人直播的过程中都遇到了直播间违规和账号被封两大问题,并因此蒙受了一定的损失。在此背景下,不少有计划引入数字人直播的企业和搭建数字人直播系统的创业者也开始有了犹豫。为了让大家能够更放心地入局,本期,我们将通过分析这两大问题出现的原因,来整理数字人直播防封教程,希望能对大家有所帮助。 一、数字人直播是否会导致直播间违规和封号问题? 需要明确的一点是,当前,虽然许多人在进

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

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

【24数模国赛赛题思路已出】国赛B题第二套整体思路丨附参考代码丨免费分享

B 题 生产过程中的决策问题 一、问题1解析 问题1的任务是为企业设计一个合理的抽样检测方案,基于少量样本推断整批零配件的次品率,帮助企业决定是否接收供应商提供的这批零配件。具体来说,企业需要依据两个不同置信度(95% 和 90%)来判断次品率是否超过或不超过标称值(10%)。 供应商声称的次品率为不超过10%,但企业需要通过抽样检测来验证实际次品率是否符合此要求。通过设计合理的抽样方案,企

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 24 in XML document from

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 24 in XML document from class path resource [bean1.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineN