【备战秋招】——算法题目训练和总结day3

【备战秋招】——算法题目训练和总结day3😎

  • 前言🙌
    • BC149简写单词
        • 题解思路分析
        • 代码分享:
    • dd爱框框
        • 题解思路分析
        • 代码分享:
    • 除2!
        • 题解思路分析
        • 代码分享:
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘都是精华内容,可不要错过哟!!!😍😍😍

BC149简写单词

链接: 149简写单词
在这里插入图片描述

在这里插入图片描述

题解思路分析

算法思想:模拟。

  1. 首先是认真审题,结合示例理解。
  2. 我们可以利用cin流提取的特点,巧妙的跳过空格。每一次读到一个单词,然后将首字母进行一个简单的判断,如果是大写字母就转小写。
代码分享:
#include <iostream>
using namespace std;

int main()
{
    string s;
    while(cin >> s)
    {
        if(s[0] >= 'a' && s[0] <= 'z') cout << (char)(s[0] - 32);
        else cout << s[0];
    }

    return 0;
}

dd爱框框

链接: dd爱框框

在这里插入图片描述
在这里插入图片描述

题解思路分析

算法思想:同向双指针/滑动窗口

  1. 首先是认真审题,结合示例理解
  2. 写出滑动窗口四部法则:进窗口、判断、出窗口、更新结果注意什么时候要跟新结果,这个因题而异。这里的更新结果放到判断和出窗口之间的位置。
  • 进窗口:sum += a[r];
  • 判断:sum >= x
  • 出窗口:sum -= a[l++];
  • 更新结果:r - l + 1< mindis
  1. 根据四步,完成代码,并注意细节即可
代码分享:
#include<iostream>
using namespace std;

const int N = 1e7 + 10;
int a[N];
int l = 0, r = 0, sum = 0;
int mindis = 0x3f3f3f3f;


int main()
{
    int n , x;
    int left,right;
    cin >> n >> x;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    while(r <= n)
    {
        //进窗口
        sum += a[r];
        //判断
        while(sum >= x)
        {
            //更新
            if(r - l + 1< mindis)
            {
                left = l;
                right = r;
                mindis = r - l + 1;
            }
            //出窗口
            sum -= a[l++];
        }
        r++;
    }
    cout << left << " " << right << endl;
    
    return 0;
}

除2!

链接: 除2!
在这里插入图片描述

在这里插入图片描述

题解思路分析

算法思想:模拟 + 贪心 + 堆

  1. 首先是认真审题,结合示例理解。这里的数据个数和范围都比较大,如果累加,会有溢出情况的。因此我们定义的sum为long long 类型。博主就是因为没审清楚题,掉在坑里半天了。。。。
  2. 既然要使得最后数组之和最小,那很自然的我们就想到贪心的思想,即每一次操作都把最大的那个偶数进行减半。
  3. 我们借助堆数据结构,可以进行一个很好的控制,写起代码来也比较好控制。
代码分享:
#include<iostream>
#include<queue>
using namespace std;


int main()
{
    int n,k;
    cin >> n >> k;
    long long sum = 0;
    int a = 0;
    priority_queue<int> heap;
    for(int i = 0; i < n; i++)
    {
        cin >> a;
        sum += a;
        if(a % 2 == 0)
            heap.push(a);
    }
    while(!heap.empty() && k--)
    {
        int t = heap.top() / 2;
        heap.pop();
        sum -= t;
        if(t % 2 == 0)
            heap.push(t);
    }
    cout << sum << endl;
    return 0;
}

总结撒花💞

   本篇文章旨在分享的是算法题目题解知识。希望大家通过阅读此文有所收获
   😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多周期路径的约束与设置原则

本节将回顾工具检查建立保持时间的原则&#xff0c;接下来介绍设置多周期后的检查原则。多周期命令是设计约束中常用的一个命令&#xff0c;用来修改默认的建立or保持时间的关系。基本语法如下 默认的建立时间与保持时间的检查方式 DC工具计算默认的建立保持时间关系是基于时钟…

EXSI 实用指南 2024 -编译环境 Mac OS 安装篇(一)

1. 引言 在现代虚拟化技术的快速发展中&#xff0c;VMware ESXi 作为领先的虚拟化平台&#xff0c;凭借其高性能、稳定性和丰富的功能&#xff0c;广泛应用于企业和个人用户。ESXi 能有效地提高硬件资源利用率&#xff0c;并简化 IT 基础设施的管理。然而&#xff0c;如何在 V…

RK3568平台(显示篇)主屏副屏配置

一.主屏副屏配置 目前在RK3568平台上有两路HDMIOUT输出&#xff0c;分别输出到两个屏幕上&#xff0c;一路配置为主屏&#xff0c;一路配置为副屏。 硬件原理图&#xff1a; &hdmi0_in_vp2 {status "okay"; };&hdmi1_in_vp0 {status "okay"; }…

idea修改全局配置、idea中用aliyun的脚手架,解决配置文件中文乱码

idea修改全局配置 idea中用aliyun的脚手架&#xff0c;创建springBoot项目 解决配置文件中文乱码

基于springboot+mybatis学生管理系统

基于springbootmybatis学生管理系统 简介&#xff1a; 题目虽然是学生管理系统&#xff0c;但功能包含(学生&#xff0c;教师&#xff0c;管理员),项目基于springboot2.1.x实现的管理系统。 编译环境 &#xff1a; jdk 1.8 mysql 5.5 tomcat 7 框架 &#xff1a; springboot…

p15 p16 c语言实现三子棋

具体的实现代码 game.c #include "game.h"void InitBoard(char board[ROW][COL], int row, int col) {int i 0;int j 0;for (i 0; i < row; i) {for (j 0; j < col; j) {board[i][j] ;}} }void DisplayBoard(char board[ROW][COL], int row, int col) …

springboot系列九: 接收参数相关注解

文章目录 基本介绍接收参数相关注解应用实例PathVariableRequestHeaderRequestParamCookieValueRequestBodyRequestAttributeSessionAttribute 复杂参数基本介绍应用实例 自定义对象参数-自动封装基本介绍应用实例 基本介绍 1.SpringBoot 接收客户端提交数据 / 参数会使用到相…

二进制二维数组与装箱问题

装箱问题&#xff08;Bin Packing Problem&#xff09;是一类经典的优化问题&#xff0c;其目标是将一系列项目&#xff08;通常具有不同的体积或重量&#xff09;分配到尽量少的箱子中&#xff0c;使得每个箱子的容量不被超出。这种问题在物流、资源分配、内存管理等领域有广泛…

LinkedList----源码分析

源码介绍 public class LinkedList<E>extends AbstractSequentialList<E>implements List<E>, Deque<E>, Cloneable, java.io.Serializable{} 添加过程中的操作&#xff1a; 当创建LinkedList类时&#xff0c;会调用其空参构造方法&#xff0c;将其参…

第一关:Linux基础知识

Linux基础知识目录 前言LinuxInternStudio 关卡1. InternStudio开发机介绍2. SSH及端口映射2.1 什么是SSH&#xff1f;2.2 如何使用SSH远程连接开发机&#xff1f;2.2.1 使用密码进行SSH远程连接2.2.2 配置SSH密钥进行SSH远程连接2.2.3 使用VScode进行SSH远程连接 2.3. 端口映射…

6-5,web3浏览器链接区块链(react+区块链实战)

6-5&#xff0c;web3浏览器链接区块链&#xff08;react区块链实战&#xff09; 6-5 web3浏览器链接区块链&#xff08;调用读写合约与metamask联动&#xff09; 6-5 web3浏览器链接区块链&#xff08;调用读写合约与metamask联动&#xff09; 这里就是浏览器端和智能合约的交…

论文阅读【时空+大模型】ST-LLM(MDM2024)

论文阅读【时空大模型】ST-LLM&#xff08;MDM2024&#xff09; 论文链接&#xff1a;Spatial-Temporal Large Language Model for Traffic Prediction 代码仓库&#xff1a;https://github.com/ChenxiLiu-HNU/ST-LLM 发表于MDM2024&#xff08;Mobile Data Management&#xf…

回归损失和分类损失

回归损失和分类损失是机器学习模型训练过程中常用的两类损失函数&#xff0c;分别适用于回归任务和分类任务。 回归损失函数 回归任务的目标是预测一个连续值&#xff0c;因此回归损失函数衡量预测值与真实值之间的差异。常见的回归损失函数有&#xff1a; 均方误差&#xff…

srs直播内网拉流带宽飙升问题记录

问题背景 srs部署在云服务器上&#xff0c;32核cpu&#xff0c;64G内存&#xff0c;带宽300M. 客户端从srs拉流&#xff0c;发现外网客户端拉流&#xff0c;cpu和带宽都正常。然而内网客户端拉流&#xff0c;拉流人数超过5人以上&#xff0c;带宽就会迅速飙升。 排查 用srs…

Pandas数学函数大揭秘:让数据处理变得如此简单高效,轻松玩转数据分析新纪元!

1.导包 # 导包 import numpy as np import pandas as pd2.聚合函数 df pd.DataFrame(datanp.random.randint(0,100,size(5,3))) df01203550281552376231419335895434679917 # 列非空元素的数量 df.count()0 5 1 5 2 5 dtype: int64# 行非空元素的数量 df.count(ax…

小白的OS Copilot 产品测评

背景 通过群友介绍才知OS Copilot 。不想错过任何优秀的AI产品。随着互联网的发展和时代的进步&#xff0c;要紧跟时代&#xff0c;了解市面上的优秀的AI科技产品。 OS Copilot 产品体验评测 1&#xff09;您的角色是什么&#xff1f;开发、运维、学生&#xff1f;如果使用O…

7.11日学习打卡----初学Redis(六)

7.11日学习打卡 目录&#xff1a; 7.11日学习打卡一. redis事务事务的概念与ACID特性Redis事务三大特性Redis事务执行的三个阶段Redis事务基本操作 二. redis集群主从复制主从复制环境搭建主从复制原理剖析 哨兵监控哨兵监控环境搭建哨兵工作原理剖析 故障转移Cluster模式Clust…

MES系统是如何进行工艺管理的

1. MES系统工艺管理 工艺管理是MES制造执行系统中至关重要的功能模块之一&#xff0c;它涉及到产品从设计到生产的整个工艺流程的规划、执行和优化。以下是对MES系统中工艺管理模块的详细介绍&#xff1a; 1.1 工艺流程设计 工艺流程设计是MES系统工艺管理的核心部分&#xf…

PCI PTS 硬件安全模块(HSM)模块化安全要求 v5.0

符合条件的 PCI SSC 利益相关者在 30 天的意见征询 (RFC) 期间审查 PCI PTS 硬件安全模块 (HSM) 模块化安全要求 v5.0 草案并提供反馈。 PCI PTS 硬件安全模块(HSM)模块化安全要求 v5.0图 从 7 月 8 日到 8 月 8 日&#xff0c;邀请符合条件的 PCI SSC 利益相关者在 30 天的意见…

使用getopt处理参数

文章目录 使用getopt处理参数1. shift 命令1.1 删除一个参数1.2 删除多个参数1.3 多次执行 shift 参数1.4 参数解析示例1.5 优化处理1.6 问题处理 2. getopt 命令2.1 常用参数及示例2.2 脚本参数优化示例2.3 参数校验 3. 示例展示4. eval 命令4.1 示例示例 1示例 2示例 3示例 4…