当前位置: 首页 > news >正文

32.哀家要长脑子了!

1.299. 猜数字游戏 - 力扣(LeetCode)

公牛还是挺好数的,奶牛。。。妈呀,一朝打回解放前

抓本质抓本质,有多少位非公牛数可以通过重新排列转换公牛数字,意思就是,当这个数不是公牛数字时,我们就分别统计它在secret和guess中的数量,然后取数量较少的作为奶牛数就好,因为它是可以调整位置的使它变成公牛数,多余的无法匹配再怎么调整位置也没办法把它变成公牛数。

class Solution {
public:vector<string> fizzBuzz(int n) {n += 1;vector<string> answer(n);for(int i = 1 ; i < n; i++){if(i % 3 == 0 && i % 5 == 0){answer[i] = "FizzBuzz";}else if(i % 3 == 0){answer[i] = "Fizz";}else if(i % 5 == 0){answer[i] = "Buzz";}else{answer[i] = to_string(i);}}return answer;}
};
2.412. Fizz Buzz - 力扣(LeetCode)

 匹配就好

class Solution {
public:vector<string> fizzBuzz(int n) {n += 1;vector<string> answer;for(int i = 1 ; i < n; i++){if(i % 3 == 0 && i % 5 == 0){answer.push_back("FizzBuzz");}else if(i % 3 == 0){answer.push_back("Fizz");}else if(i % 5 == 0){answer.push_back("Buzz");}else{answer.push_back(to_string(i));}}return answer;}
};
3.506. 相对名次 - 力扣(LeetCode)

 首先自己瞎掰扯了半天 感觉有点冗余 三元运算符还是见样学样的哈哈。。

class Solution {
public:vector<string> findRelativeRanks(vector<int>& score) {int n = score.size();string medal[3] = {"Gold Medal", "Silver Medal", "Bronze Medal"};vector<int> map(1000010);vector<string> answer(n);for(int i  = 0; i < n; i++){map[score[i]] = i;            }sort(score.begin(), score.end());reverse(score.begin(), score.end());for(int i = 0; i < n; i++){int site = map[score[i]];answer[site] = i<3 ? medal[i] :  to_string(i+1);}return answer;}
};

后面看了别人的题解(下面这个

class Solution {
public:vector<string> findRelativeRanks(vector<int>& score) {int n = score.size();string medal[3] = {"Gold Medal", "Silver Medal", "Bronze Medal"};map<int,int> map;vector<string> answer;vector<int> a(score.begin(), score.end());sort(a.begin(), a.end());reverse(a.begin(), a.end());for(int i  = 0; i < n; i++){map[a[i]] = i;            }for(int i = 0; i < n; i++){int rank = map[score[i]];string res = rank<3 ? medal[rank] : to_string(rank+1);answer.push_back(res);}return answer;}
};

发现我跟人家想法不一样的是:我没有复制数组,先记录排序前原来的位置,然后在制造答案数组的时候遍历排序后的数组,根据记录的原来的位置放答案

人家是用一个新数组记录排序之后的数组 然后再遍历原数组的元素 根据排序之后的名次决定这个位置的答案数组中是什么结果

http://www.lryc.cn/news/388761.html

相关文章:

  • Vue2 - 项目上线后生产环境中去除console.log的输出以及断点的解决方案
  • phpword生成PDF
  • Linux进程优先级
  • 每日一题——Python实现PAT乙级1096 大美数(举一反三+思想解读+逐步优化)3千字好文
  • 无锁编程——从CPU缓存一致性讲到内存模型(1)
  • C++编程(七)继承
  • 【ACM_2023】3D Gaussian Splatting for Real-Time Radiance Field Rendering
  • 【TB作品】atmega16 计算器,ATMEGA16单片机,Proteus仿真
  • C++的IO流操作
  • MacOS升级指定Python版本的pip
  • 音频Balance源码总结
  • CesiumJS【Basic】- #043 绘制脉冲线(Entity方式)- 需要自定义着色器
  • Linux命令 wc(word count)-l(lines)用于统计文件中的行数。
  • 数据结构 - C/C++ - 链表
  • sheng的学习笔记-AI-高斯混合模型(GMM)
  • OFDM的缺点与关键技术
  • 电脑录音软件哪个好?7款录制音频工具大盘点,赶快学起来!(2024)
  • 【Android面试八股文】你说你使用Leakcanary进行内存泄漏检测,那你能说一说Leakcanary的原理吗?
  • 蒂升电梯职业性格和Verify认知能力SHL测评答题攻略及薪资待遇解密!
  • window上部署sql server改动端口、和sqlserver的一些还原、批量插入存储过程的命令
  • 【单片机与嵌入式】stm32串口通信入门
  • 启动Redis服务器
  • uniapp中使用threejs加载几何体
  • 【SQL注入】 数据库基础
  • 文件操作~
  • 身边的故事(十二):阿文的故事:消失
  • 智能扫地机器人程序中出现的问题可以参考的解决方案
  • 如何借用物联网快速实现高标准农田信息化
  • 计算机网络基础入门
  • uniApp vue2 vue3配置代理