笔试专题(三)

devtools/2025/3/27 16:19:38/

文章目录

  • 字符串中找出连续最长的数字串
    • 题解
    • 代码
  • 拼三角
    • 题解
    • 代码

字符串中找出连续最长的数字串

题目链接
在这里插入图片描述

题解

1. 考察双指针 + 模拟
2. 算法思路:给定一个i = 0,让i++,如果遇到数字字符就创建一个变量j = i,让j去遍历,如果j下标的字符是数字字符就持续遍历,如果遇到字母就停止,记录下数字字符开始的下标和数字字符的长度,然后让j赋值给i,继续让i去找数字字符

代码

#include <iostream>
#include<string>
using namespace std;int main()
{string s;cin >> s;int n = s.size();int begin = 0,len = 0;for(int i = 0;i < n;i++){if(s[i] >= '0' && s[i] <= '9'){int j = i;// j < n防止越界while(j < n && s[j] >= '0' && s[j] <= '9') j++;if(j - i > len){begin = i;len = j - i;}i = j;}}cout << s.substr(begin,len) << '\n';return 0;
}

拼三角

题目链接
在这里插入图片描述

题解

1. 考察枚举,两边之和大于第三边
2. 解法一可以使用三层for循环和check判断,解法二可以使用dfs判断,解法三是对枚举的优化
3. 解法三:一共有20中情况,但是会出现重复的情况比如012 - 345,这样就少了一半,就只有10中情况了,优化的解法可以先排序,分为下图的10种情况,第一列的012 - 345如果成立,那么后面的就不需要判断了,如果不成立,根据单调性如果 0 + 1 < 2的,那么后面的 0 + 1 < 3的,后面的也是如此

在这里插入图片描述

代码

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;// 解法一:利用单调性的解法
bool check(vector<int> ret)
{if(ret[0] + ret[1] > ret[2] && ret[3] + ret[4] > ret[5] ||ret[0] + ret[2] > ret[3] && ret[1] + ret[4] > ret[5] ||ret[0] + ret[3] > ret[4] && ret[1] + ret[2] > ret[5] ||ret[0] + ret[4] > ret[5] && ret[1] + ret[2] > ret[3])return true;return false;
}
int main()
{vector<int> ret(6);int t;cin >> t;while(t--){for(int i = 0;i < 6;i++) cin >> ret[i];sort(ret.begin(),ret.end());if(check(ret)) cout << "Yes" << '\n';else cout << "No" << '\n';}return 0;
}
文章来源:https://blog.csdn.net/2301_79722622/article/details/146487172
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/devtools/171325.html

相关文章

Rust从入门到精通之进阶篇:20.项目实践

项目实践 在本章中,我们将把前面学到的所有 Rust 知识整合起来,构建一个完整的应用程序。通过实际项目,你将学习如何组织代码、处理依赖关系、实现功能以及测试和部署 Rust 应用程序。我们将构建一个命令行待办事项管理器(Todo CLI),它具有添加、列出、完成和删除任务的…

深入理解指针(2)(C语言版)

文章目录 前言一、数组名的理解二、使用指针访问数组三、一维数组传参的本质四、冒泡排序五、二级指针六、指针数组七、指针数组模拟二维数组总结 前言 在上一篇文章中&#xff0c;我们初步了解了指针的基本概念和用法。今天&#xff0c;我们将继续深入探索指针在数组、函数传…

Uniapp使用大疆SDK打包离线原生插件二

上一篇讲了如何下载及配置原生插件&#xff0c;今天深入的了解下如何将java代码的SDK引入Uniapp 一、配置libs: 在Android开发中&#xff0c;libs目录通常用于存放项目所需的第三方库文件。 将sdk中的包lib.5plus.base-release.aar、android-gif-drawable-release1.2.23.aa…

日志截断/日志中途清空/不停止程序

使用场景&#xff1a; nohup ./abc.sh > 123.log 2>&1 & 若想在不停止程序的前提下减小 123.log 的占用空间或者对日志进行分割&#xff0c;可采用如下方法&#xff1a; 1. 手动截断日志 可以手动截断日志文件&#xff0c;把文件内容清空&#xff0c;但保留文…

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)

文章目录 1、问题描述2、问题推测3、解决方法3.1 selenium自动启动浏览器3.2 selenium接管已启动的浏览器3.3 区别总结4、代码实战4.1 手动方法(手动打开浏览器输入账号密码)4.2 自动方法(.bat文件启动的浏览器)1、问题描述 使用selenium自动化测试爬取pdd的时候,通过携带…

Android 12.0 WiFi连接默认设置静态IP地址功能实现

1.前言 在12.0的系统rom定制化开发中,在定制化某些功能开发中,在wifi模块中,有产品需要要求设置wifi静态ip功能,而系统中wifi连接 后ip是动态的,每次开机后 连接wifi的ip就是不固定的,所以产品需要采用固定ip,就需要实现静态ip功能 2.WiFi连接默认设置静态IP地址功能实…

专题|Python贝叶斯网络BN动态推理因果建模:MLE/Bayes、有向无环图DAG可视化分析呼吸疾病、汽车效能数据2实例合集

原文链接&#xff1a;https://tecdat.cn/?p41199 作为数据科学家&#xff0c;我们始终在探索能够有效处理复杂系统不确定性的建模工具。本专题合集系统性地解构了贝叶斯网络&#xff08;BN&#xff09;这一概率图模型在当代数据分析中的创新应用&#xff0c;通过开源工具bnlea…

C++ 性能优化隐藏陷阱:从系统调用到并发开销的深度反思

作为一名C++技术专家,我深知性能优化不仅是代码层面的艺术,更是理解硬件与语言交互的科学。在现代计算中,C++的抽象为开发者提供了便利,却也隐藏了硬件的复杂性。如何揭开这些“谎言”,让代码与硬件协同工作?本文将以小案例为载体,通过优化前后的对比,深入剖析每个章节…