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

C/C++每日一练(20230307)

目录

1. 国名排序  ★★

2. 重复的DNA序列  ★★★

3. 买卖股票的最佳时机 III  ★★★

🌟 每日一练刷题专栏

C/C++ 每日一练 ​专栏

Python 每日一练 ​专栏


1. 国名排序

小李在准备明天的广交会,明天有来自世界各国的客房跟他们谈生意,小李要尽快的整理出名单给经理,你能帮他把客户来自的国家按英文字典次序排好吗?

例如小李手上有来自加拿大,美国,中国的名单,排好的名单应是美国,加拿大,中国

输入

第一行为一个n(n<=100)表示n个国家,第2行到第n+1行分别为n个国家的名字.

输出

输出共计n行,为n个国家按字典顺序的排列,每行为一个国家

输入样例:

3
China
Canada
America

输出样例:

America
Canada
China

代码:

#include <iostream>
#include <string>
using namespace std;
string a[1000];
int main()
{int i, n;cin >> n;for (i = 1; i <= n; i++){cin >> a[i];}for (i = 1; i <= n; i++){for (int j = i + 1; j <= n; j++){if (a[i] > a[j])swap(a[i], a[j]);}}for (int i = 1; i <= n; i++)cout << a[i] << endl;return 0;
}

输入输出:

3
China
Canada
America

America
Canada
China


2. 重复的DNA序列

所有 DNA 都由一系列缩写为 'A''C''G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。

编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。

示例 1:

输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出:["AAAAACCCCC","CCCCCAAAAA"]

示例 2:

输入:s = "AAAAAAAAAAAAA"
输出:["AAAAAAAAAA"]

提示:

  • 0 <= s.length <= 10^5
  • s[i] 为 'A''C''G' 或 'T'

代码:

#include <bits/stdc++.h>
using namespace std;class Solution
{
public:vector<string> findRepeatedDnaSequences(string s){std::map<std::string, int> word_map;std::vector<std::string> result;for (int i = 0; i < s.length(); i++){std::string word = s.substr(i, 10);if (word_map.find(word) != word_map.end()){word_map[word] += 1;}else{word_map[word] = 1;}}std::map<std::string, int>::iterator it;for (it = word_map.begin(); it != word_map.end(); it++){if (it->second > 1){result.push_back(it->first);}}return result;}
};int main()
{Solution sol;string s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT";for (auto str: sol.findRepeatedDnaSequences(s))cout << str << " ";cout << endl;return 0;
}

输出:

AAAAACCCCC CCCCCAAAAA


3. 买卖股票的最佳时机 III

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

示例 1:

输入:prices = [3,3,5,0,0,3,1,4]
输出:6
解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。
随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3 。

示例 2:

输入:prices = [1,2,3,4,5]
输出:4
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。   
注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。   
因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。

示例 3:

输入:prices = [7,6,4,3,1] 
输出:0 
解释:在这个情况下, 没有交易完成, 所以最大利润为 0。

示例 4:

输入:prices = [1]
输出:0

提示:

  • 1 <= prices.length <= 10^5
  • 0 <= prices[i] <= 10^5

代码:

#include <bits/stdc++.h>
using namespace std;class Solution
{
public:int maxProfit(vector<int> &prices){int length = prices.size();if (length < 2){return 0;}vector<int> former(length, 0);vector<int> later(length, 0);int curMin = prices[0];int curProfit = 0;for (int i = 1; i < length; i++){curProfit = max(curProfit, prices[i] - curMin);curMin = min(curMin, prices[i]);former[i] = curProfit;}int curMax = prices[length - 1];curProfit = 0;for (int i = length - 2; i >= 0; i--){curProfit = max(curProfit, curMax - prices[i]);curMax = max(curMax, prices[i]);later[i] = curProfit;}int maxProfit = 0;for (int i = 0; i < length; i++)maxProfit = max(maxProfit, former[i] + later[i]);return maxProfit;}
};int main()
{Solution s;vector<int> prices = {3,3,5,0,0,3,1,4};cout << s.maxProfit(prices) << endl;prices = {1,2,3,4,5};cout << s.maxProfit(prices) << endl;prices = {7,6,4,3,1};cout << s.maxProfit(prices) << endl;return 0;
}

输出:

6
4
0


🌟 每日一练刷题专栏

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

 收藏,你的青睐是我努力的方向! 

✏️ 评论,你的意见是我进步的财富!  

C/C++ 每日一练 ​专栏

Python 每日一练 ​专栏

相关文章:

C/C++每日一练(20230307)

目录 1. 国名排序 ★★ 2. 重复的DNA序列 ★★★ 3. 买卖股票的最佳时机 III ★★★ &#x1f31f; 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 ​专栏 1. 国名排序 小李在准备明天的广交会&#xff0c;明天有来自世界各国的客房跟他们谈生意&#xff0c…...

一条SQL查询语句是如何执行的?

平时我们使用数据库&#xff0c;看到的通常都是一个整体。比如&#xff0c;你有个最简单的表&#xff0c;表里只有一个ID字段&#xff0c;在执行下面这个查询语句时&#xff1a; mysql> select * from T where ID10&#xff1b; 我们看到的只是输入一条语句&#xff0c;返…...

tcsh常用配置

查看当前的shell类型 在 Linux 的世界中&#xff0c;有着许多 shell 程序。常见的有&#xff1a; Bourne shell (sh) C shell (csh) TC shell (tcsh) Korn shell (ksh) Bourne Again shell (bash) 其中&#xff0c;最常用的就是bash和tcsh&#xff0c;本次文章介绍tcsh的…...

YOLOv5源码逐行超详细注释与解读(2)——推理部分detect.py

前言 前面简单介绍了YOLOv5的项目目录结构&#xff08;直通车&#xff1a;YOLOv5源码逐行超详细注释与解读&#xff08;1&#xff09;——项目目录结构解析&#xff09;&#xff0c;对项目整体有了大致了解。 今天要学习的是detect.py。通常这个文件是用来预测一张图片或者一…...

什么叫个非对称加密?中间人攻击?数字签名?

非对称加密也称为公钥密码。就是用公钥来进行加密&#xff0c;撒子意思&#xff1f; 非对称加密 在对称加密中&#xff0c;我们只需要一个密钥&#xff0c;通信双方同时持有。而非对称加密需要4个密钥&#xff0c;来完成完整的双方通信。通信双方各自准备一对公钥和私钥。其中…...

2023.03.07 小记与展望

碎碎念系列全新改版&#xff01; 以后就叫小记和展望系列 最近事情比较多&#xff0c;写篇博客梳理一下自己3月到5月下旬的一个规划 一、关于毕设 毕设马上开题答辩了&#xff0c;准备再重新修改一下开题报告&#xff0c;梳理各阶段目标。 毕设是在去年的大学生创新训练项目…...

MyBatis源码分析(七)MyBatis与Spring的整合原理与源码分析

文章目录写在前面一、SqlSessionFactoryBean配置SqlSessionFactory1、初识SqlSessionFactoryBean2、实现ApplicationListener3、实现InitializingBean接口4、实现FactoryBean接口5、构建SqlSessionFactory二、SqlSessionTemplate1、初始SqlSessionTemplate2、SqlSessionTemplat…...

基于声网 Flutter SDK 实现多人视频通话

前言 本文是由声网社区的开发者“小猿”撰写的Flutter基础教程系列中的第一篇。本文除了讲述实现多人视频通话的过程&#xff0c;还有一些 Flutter 开发方面的知识点。该系列将基于声网 Fluttter SDK 实现视频通话、互动直播&#xff0c;并尝试虚拟背景等更多功能的实现。 如果…...

IT服务管理(ITSM) 中的大数据

当我们谈论IT服务管理&#xff08;ITSM&#xff09;领域的大数据时&#xff0c;我们谈论的是关于两件不同的事情&#xff1a; IT 为业务提供的大数据工具/服务 - 对业务运营数据进行数字处理。IT 运营中的大数据 – 处理和利用复杂的 IT 运营数据。 面向业务运营的大数据服务…...

Validator校验之ValidatorUtils

注意&#xff1a;hibernate-validator 与 持久层框架 hibernate 没有什么关系&#xff0c;hibernate-validator 是 hibernate 组织下的一个开源项目 。 hibernate-validator 是 JSR 380&#xff08;Bean Validation 2.0&#xff09;、JSR 303&#xff08;Bean Validation 1.0&…...

C++---背包模型---采药(每日一道算法2023.3.7)

注意事项&#xff1a; 本题是"动态规划—01背包"的扩展题&#xff0c;dp和优化思路不多赘述。 题目&#xff1a; 辰辰是个天资聪颖的孩子&#xff0c;他的梦想是成为世界上最伟大的医师。 为此&#xff0c;他想拜附近最有威望的医师为师。 医师为了判断他的资质&…...

Java各种锁

目录 一、读写锁(ReentrantReadWriteLock) 二、非公平锁(synchronized/ReentrantLock) 三、可重入锁/递归锁(synchronized/ReentrantLock) 四、自旋锁(spinlock) 五、乐观锁/悲观锁 六、死锁 1、死锁代码 2、死锁的检测(jps -l 与 jstack 进程号) 七、sychronized-wait…...

TryHackMe-Tardigrade(应急响应)

Tardigrade 您能否在此 Linux 端点中找到所有基本的持久性机制&#xff1f; 服务器已遭到入侵&#xff0c;安全团队已决定隔离计算机&#xff0c;直到对其进行彻底清理。事件响应团队的初步检查显示&#xff0c;有五个不同的后门。你的工作是在发出信号以使服务器恢复生产之前…...

导出GIS | 将EXCEL表格中坐标导出成GIS格式文件

一 前言 EXCEL是我们日常工作学习数据处理的办公软件&#xff0c;操作易上手&#xff0c;几乎人人都会用。EXCEL表格能够处理各种数据&#xff0c;包括经纬度坐标数据&#xff0c;地址数据等等。 有时因工作需要需将表格中地址数据处理为GIS格式的文件&#xff0c;以便能够将数…...

new set数组对象去重失败

我们知道Set是JS的一个种新的数据结构&#xff0c;和数组类似&#xff0c;和数组不同的是它可以去重&#xff0c;比如存入两个1或两个"123"&#xff0c;只有1条数据会存入成功&#xff0c;但有个特殊情况&#xff0c;如果添加到set的值是引用类型&#xff0c;比如数组…...

Acwing: 一道关于线段树的好题(有助于全面理解线段树)

题目链接&#x1f517;&#xff1a;2643. 序列操作 - AcWing题库 前驱知识&#xff1a;需要理解线段树的结构和程序基本框架、以及懒标记的操作。 题目描述 题目分析 对区间在线进行修改和查询&#xff0c;一般就是用线段树来解决&#xff0c;观察到题目一共有五个操作&…...

DD-1/40 10-40mA型【接地继电器】

系列型号&#xff1a; DD-1/40接地继电器 DD-1/50接地继电器 DD-1/60接地继电器 一、 用途及工作原理 DD-1型接地继电器为瞬时动作的过电流继电器&#xff0c;用作小电流接地电力系统高电压三相交流发电机和电动机的接地零序过电流保护。继电器线圈接零序电流互感器(电缆式、母…...

【女神节】简单使用C/C++和Python嵌套for循环生成一个小爱心

目录 前言实现分析代码实现代码如下效果如下优化效果代码如下效果如下总结尾叙前言 女神节马上到了,有女朋友的小伙伴是不是已经精心准好礼物了呢!对于已婚男士,是不是整愁今天又该送什么礼物呢!说真的,我也整愁着,有什么要推荐么,评论留言下! 实现分析 可以先在纸上或…...

Biome-BGC生态系统模型与Python融合技术实践应用

查看原文>>> Biome-BGC生态系统模型与Python融合技术实践应用 Biome-BGC是利用站点描述数据、气象数据和植被生理生态参数&#xff0c;模拟日尺度碳、水和氮通量的有效模型&#xff0c;其研究的空间尺度可以从点尺度扩展到陆地生态系统。 在Biome-BGC模型中&#xf…...

ESP32 GPIO使用

ESP32 GPIO使用 #define GPIO_OUT_PIN 2 //定义引脚号 #define GPIO_OUTPUT_PIN_SEL (1<<GPIO_OUT_PIN) //定义输出引脚的宏&#xff0c;用来将输出引脚号转换为位掩码void bsp_gpio_init(){gpio_config_t io_conf;io_conf.pin_bit_mask GPIO_OUTPUT_PIN_SE…...

PyCharm配置PyQt5开发环境:一站式集成Qt Designer、PyUIC与PyRcc实战指南

1. 环境准备与基础安装 第一次用PyCharm搞PyQt5开发时&#xff0c;我对着满屏的英文文档差点放弃。后来发现只要搞定这三个核心工具链——Qt Designer画界面、PyUIC转代码、PyRcc管资源&#xff0c;开发效率能翻倍。先说最基础的安装&#xff0c;别被那些复杂的配置吓到&#x…...

3步实战:用DistroAV插件解决OBS多机位网络传输难题

3步实战&#xff1a;用DistroAV插件解决OBS多机位网络传输难题 【免费下载链接】obs-ndi DistroAV (formerly OBS-NDI): NDI integration for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-ndi 还在为OBS Studio的多机位同步而烦恼&#xff1f;想要实现…...

如何快速掌握WarcraftHelper:魔兽争霸III现代化优化的终极指南

如何快速掌握WarcraftHelper&#xff1a;魔兽争霸III现代化优化的终极指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还记得那些年在《魔兽…...

Rusted PackFile Manager (RPFM):全面战争模组制作的终极利器

Rusted PackFile Manager (RPFM)&#xff1a;全面战争模组制作的终极利器 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: http…...

GE模型加载卸载API

模型加载和卸载 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、TensorFlow…...

AI原生转型生死线(2026奇点大会闭门报告首次公开)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生转型生死线&#xff08;2026奇点大会闭门报告首次公开&#xff09; 2026年奇点大会闭门报告显示&#xff1a;企业若未在2025年底前完成AI原生架构重构&#xff0c;其核心系统迭代效率将平均下降4…...

前端工程化:开发环境配置最佳实践

前端工程化&#xff1a;开发环境配置最佳实践 前言 开发环境配置是前端工程化的基础。一个良好的开发环境能大大提高开发效率&#xff0c;减少团队协作中的环境问题。今天我就来给大家讲讲如何配置一套高效的前端开发环境。 为什么开发环境配置如此重要 开发环境是开发者日常工…...

OpenCV Aruco码检测全流程拆解:不只是二维码,更是计算机视觉的“标尺”

OpenCV ArUco码检测全流程拆解&#xff1a;从原理到工程优化的视觉标尺实践 在计算机视觉领域&#xff0c;标记检测一直是连接虚拟信息与现实世界的重要桥梁。当我们谈论ArUco码时&#xff0c;很多人首先联想到的是其作为二维码近亲的身份&#xff0c;但它的真正价值远不止于此…...

2026 技术趋势预测:从 GTC 大会透视 AI 工业化,开发者机遇与全新突破

AI-Skills技能包一键调用&#xff1a;https://ai-skills.ai/?inviteCodeS2JV3NCK 摘要 以英伟达 GTC 全球技术大会为行业风向标&#xff0c;2026 年科技产业正式告别大模型概念内卷&#xff0c;全面迈入AI 工业化落地、算力架构革新、智能体普及、物理 AI 深耕的全新周期。技…...

SQL与数据库开发(四):CASE WHEN 与“行转列/列转行”花式玩法

在企业级应用的开发中&#xff0c;后端程序员和报表工程师往往面临着一种天然的矛盾&#xff1a;“数据库的存储格式”与“前端的展示格式”是完全不匹配的。 关系型数据库最喜欢“瘦长”的表&#xff08;不断往下插入新行&#xff09;&#xff0c;而业务方和老板最喜欢看的是…...