力扣题目训练(9)

2024年2月2日力扣题目训练

  • 2024年2月2日力扣题目训练
    • 412. Fizz Buzz
    • 414. 第三大的数
    • 415. 字符串相加
    • 129. 求根节点到叶节点数字之和
    • 131. 分割回文串
    • 65. 有效数字

2024年2月2日力扣题目训练

2024年2月2日第九天编程训练,今天主要是进行一些题训练,包括简单题3道、中等题2道和困难题1道。惰性太强现在才完成,不过之后我会认真完成的。

412. Fizz Buzz

链接: Fizz Buzz
难度: 简单
题目:
题目描述

运行示例:
运行示例

思路:
这就是一个简单的遍历,只要按要求把特定位置进行修改即可。
代码:

class Solution {
public:vector<string> fizzBuzz(int n) {vector<string> ans;for(int i = 0 ; i < n; i++){if((i+1)%3 == 0 && (i+1)%5 == 0){ans.push_back("FizzBuzz");}else if((i+1)%3 == 0 && (i+1)%5 != 0){ans.push_back("Fizz");}else if((i+1)%3 != 0 && (i+1)%5 == 0){ans.push_back("Buzz");}else{ans.push_back(to_string(i+1));}}return ans;}
};

414. 第三大的数

链接: 第三大的数
难度: 简单
题目:
题目描述

运行示例:
运行示例

思路:
求第三大就是排序然后返回位置第三的数字,不过需要删除重复元素,而且sort是从小到大排序的,这些细节都需要注意和解决。
代码:

class Solution {
public:int thirdMax(vector<int>& nums) {sort(nums.begin(),nums.end());auto it = std::unique(nums.begin(), nums.end());  nums.erase(it, nums.end());       for(int i = 0; i < nums.size(); i++){cout<<nums[i]<<endl;}return nums.size() >= 3? nums[nums.size()-3]:nums[nums.size()-1];}
};

415. 字符串相加

链接: 字符串相加
难度: 简单
题目:
题目描述

运行示例:
运行示例
思路:
遍历然后按照行列式的方法逐位计算。
代码:

class Solution {
public:string addStrings(string num1, string num2) {string ans="";int i = num1.size()-1;int j = num2.size()-1;int flag = 0;while(i >= 0 || j >= 0 || flag != 0){int x = i >= 0? (num1[i] - '0') : 0;int y = j >= 0? (num2[j] - '0') : 0;int temp =  x+ y + flag;if(temp >= 10){temp -= 10;flag = 1;}else{flag = 0;}ans += to_string(temp);i--;j--;}reverse(ans.begin(), ans.end());return ans;}
};

129. 求根节点到叶节点数字之和

链接: 数字之和
难度: 中等
题目:
题目描述

运行示例:
运行示例

思路:
这道题求叶子节点数字之和利用深度优先遍历完成。
代码:

class Solution {
public:int dfs(TreeNode* root,int ans){if(root == NULL) return 0;ans = ans * 10 + (root->val);if(root->left == NULL && root->right == NULL ){return ans;}return dfs(root->left,ans) + dfs(root->right,ans);}int sumNumbers(TreeNode* root) {return dfs(root,0);}
};

131. 分割回文串

链接: 分割回文串
难度: 中等
题目:
题目描述

运行示例:
运行示例

思路:
分割回文可以看出需要利用回溯,而判断是否为回文可以利用动态规划判断。
代码:

class Solution {
private:vector<vector<string>> ans;vector<string> res;int n;
public:void dfs(string s, int i, vector<vector<bool>> f){if(i == n){ans.push_back(res);return;}for(int j = i; j < n; j++){if(f[i][j]){res.push_back(s.substr(i,j-i+1));dfs(s,j+1,f);res.pop_back();}}}vector<vector<string>> partition(string s) {n = s.size();vector<vector<bool>> f(n,vector<bool>(n,true));for(int i = n -1; i >= 0; i--){for(int j = i + 1; j < n; j++){f[i][j] = (s[i] == s[j]) && f[i+1][j-1];}}dfs(s,0,f);return ans;}
};

65. 有效数字

链接: 有效数字
难度: 困难
题目:
题目描述

运行示例:
运行示例

思路:
这道题就是按照要求判断只需根据条件一步一步进行判断即可。
代码:

class Solution {
public:bool isNumber(string s) {bool isNum = false;bool isDecimal = false;bool isE = false;bool isSign = false;for(int i = 0; i < s.size(); i++){char  temp = s[i];if(0 <= temp-'0' && temp-'0'<= 9){isNum = true;}else if( temp == '.'){if(isDecimal || (!isNum && i == s.size() - 1) || isE)  return false;  isDecimal = true;}else if(temp == 'e' || temp == 'E'){if(isE || !isNum || i == s.size() - 1) return false;isE = true;}else if(temp == '-' || temp == '+'){if((i > 0 && s[i-1] != 'e' && s[i-1] != 'E') || i == s.size() - 1) return false;isSign = true;}else{return false;}}return true;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/467302.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[BJDCTF2020]ZJCTF,不过如此

伪协议读取next.php源码 preg_replace() /e代码执行漏洞_preg_replace /e-CSDN博客 查找资料我们发现&#xff0c;在php5.6及以下版本中&#xff0c;/e使得preg_replace的第二个参数可以被当作php代码执行&#xff0c;第二个参数中\\1指的是正则匹配到的第一组文本&#xff0c…

刘谦春晚魔术的数学原理

刘谦春晚魔术的数学原理 文章目录 前言魔术介绍魔术揭秘STEP 1STEP 2STEP 3STEP 4STEP 5STEP 6STEP 7 总结 前言 2024 春晚刘谦的第二个魔术很多人跟着一起做了&#xff0c;都觉得非常神奇。我也跟着操作了一遍&#xff0c;结果一眼就让我看出了背后的数学原理。下面给大家介…

C++ :内存管理 newdelete

目录 内存区域划分 C的动态内存的管理方式 new new的基本使用方法 【注意事项】 delete 【注意】 new和delete操作自定义类型 operator new 和 operator delete 【关于自定义类型new申请内存】 【原理】 【调用顺序】 【连续开辟空间问题】 malloc/free和…

用脑想问题还是用心驱动脑?

昨天回答了几个朋友的问题&#xff0c;我发现提问题的人很少&#xff0c;这让我想起之前讲的小妞子的故事&#xff0c;我问了她好几个月的同一句话&#xff1a;你有问题吗&#xff1f; 结果她很反感&#xff0c;嘿嘿。其实吧&#xff0c;我讲的很多东西都是实的&#xff0c;反而…

【Python】使用 requirements.txt 与 pytorch 相关配置

【Python】使用 requirements.txt 与 pytorch 相关配置 前言一、pip1、导出结果含有路径2、导出不带路径的 二、Conda1、导出requirements.txt2、导出yml 文件 三、第三方包&#xff1a;pipreqs&#xff08;推荐&#xff09;1、创建并激活conda环境2、安装requirements文件的pi…

【Tauri】(3):使用Tauri1.5版本,进行桌面应用开发,在windows上搭建环境,安装node,rust环境,可以打包成功,使用vite创建应用

1&#xff0c;视频地址&#xff1a; https://www.bilibili.com/video/BV1Ny421a7nA/ 【Tauri】&#xff08;3&#xff09;&#xff1a;使用Tauri1.5版本&#xff0c;进行桌面应用开发&#xff0c;在windows上搭建环境&#xff0c;安装node&#xff0c;rust环境&#xff0c;可以…

软件实例分享,茶楼收银软件管理系统,支持计时计费商品销售会员管理定时语音提醒功能

软件实例分享&#xff0c;茶楼收银软件管理系统&#xff0c;支持计时计费商品销售会员管理定时语音提醒功能 一、前言 以下软件教程以 佳易王茶社计时计费管理系统软件V18.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 问&#xff1a;这个软…

qml写一个自适应登录框

1、前言 写一个可自由伸缩的登录框&#xff0c;&#xff0c;&#xff08;横向上&#xff09; 关键&#xff1a;给相关控件赋予 Layout.fillWidth: true 属性 即可。 2、代码 //main.qml import QtQuick 2.12 import QtQuick.Controls 2.12 import QtQml 2.12 import QtQuic…

Ubuntu Desktop 自动获取 IP 地址

Ubuntu Desktop 自动获取 IP 地址 1. 左键单击网络图标 -> Edit Connections2. Network Connections3. Edit -> IPv4 SettingsReferences 1. 左键单击网络图标 -> Edit Connections 2. Network Connections ​​​ 3. Edit -> IPv4 Settings Automatic (DHCP) …

对应点已知时最优变换求解介绍以及SVD代码示例

一、空间上两组点希望找到一个刚性变换&#xff0c;在最小二乘的意义上最优地对齐两个点集&#xff0c;就是说找到一个旋转矩阵R和一个平移向量t。 二、SVD代码示例 C代码 #include <iostream> #include <pcl/point_cloud.h> #include <pcl/point_types.h>…

代码随想录算法训练营Day56|583. 两个字符串的删除操作、72. 编辑距离

目录 583. 两个字符串的删除操作 前言 思路 算法实现 法二 72. 编辑距离 前言 思路 算法实现 总结 583. 两个字符串的删除操作 题目链接 文章链接 前言 本题与上一题不同的子序列相比&#xff0c;变化就是两个字符串都可以进行删除操作了。 思路 利用动规五部曲进…

Java 基于springboot+vue的民宿管理系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…