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

蓝桥真题讲解

本篇文章继续给大家讲解蓝桥真题

第一题

题目链接

0封闭图形个数 - 蓝桥云课

题目解析

代码原理

代码编写

#include <iostream>

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

const ll max_len = 200010;

struct node

{

  ll val;

  ll zero;

}a[max_len];

bool compare(node a, node b)

{

  if(a.zero != b.zero)

  {

    return a.zero < b.zero;

  }

  return a.val < b.val;

}

int main()

{

  // 请在此输入您的代码

  ios::sync_with_stdio(0);

  cin.tie(0);

  cout.tie(0);

  map<int,int> mp;

  mp[0] = mp[4] = mp[6] = mp[9] = 1, mp[8] = 2, mp[1] = mp[3] = mp[5] = mp[7] = mp[2] = 0;

  ll n = 0;

  cin >> n;

  for(ll i = 1; i <= n; i++)

  {

    cin >> a[i].val;

  }

  for(ll i = 1; i <= n; i++)

  {

    ll x = a[i].val, sum = 0;

    while(x)

    {

      sum += mp[x % 10];

      x /= 10;

    }

    a[i].zero = sum;

  }

  sort(a + 1, a + 1 + n, compare);

  for(ll i = 1; i <= n; i++)

  {

     cout << a[i].val << " ";

  }

  return 0;

}

本题总结

思路梳理:1.从题目中获取并列举出条件2.根据给出的例子去理解题目意思

代码总结:结构体代码思维、排序容器sort、容器map的创建与使用

第二题

题目链接

0回文数组 - 蓝桥云课

题目解析

代码原理

代码编写

#include<iostream>

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

const ll max_len = 100010;

ll a[max_len];

ll dif[max_len];

int main()

{

  ios::sync_with_stdio(0);

  cin.tie(0);

  cout.tie(0);

  ll n = 0;

  ll ret = 0;

  cin >> n;

  for(ll i = 1; i <= n; i++)

  {

    cin >> a[i];

  }

  for(ll i = 1; i <= n / 2; i++)

  {

     dif[i] = a[i] - a[n - i + 1];

  }

  for(ll i = 1; i <= n / 2; i++)

  {

      ret += abs(dif[i]);

      if(dif[i] < 0 && dif[i + 1] < 0) dif[i + 1] -= max(dif[i], dif[i + 1]);

      else if(dif[i] > 0 && dif[i + 1] > 0) dif[i + 1] -= min(dif[i], dif[i + 1]);

  }

  cout << ret;

  return 0;

}

本题总结

知识点:abs()函数是取绝对值

思路梳理:先读题,提取出题目条件后,进行画图,分情况讨论:分别是由大往小变和由小往大变

贪心策略:能一起加的时候绝不单独加

第三题

题目链接

0求和 - 蓝桥云课

题目解析

代码原理

因为这个数会很大,有可能超过int甚至是long long,普通的循环有可能行不通,因此我们要用上高中学的知识等差数列求和公式

公式:(首项 + 尾项)* 项数 / 2

由于这题的代码很简单相信各位小伙伴都是有实力的,因此博主也就不展示代码了。若真有问题,呃,私信我好吧。

本题总结

公式:(首项 + 尾项)* 项数 / 2

本篇文章的内容就先到这里,我们下期文章再见!

 

 

相关文章:

  • 微服务面试题:分布式事务和服务监控
  • 从启动说起到单片机点灯发生了什么上——库层次
  • 第十五:to 的两种写法
  • Docker搭建redis集群
  • Oracle创建视图提示:ORA-01031 权限不足
  • (论文)使ConvNeXt模型适应语音数据集上的音频分类
  • Rust 中的内部可变性与 `RefCell<T>`
  • 选择排序:简单高效的选择
  • Java集合框架设计模式面试题
  • Linux系统管理(十七)——配置英伟达驱动、Cuda、cudnn、Conda、Pytorch、Pycharm等Python深度学习环境
  • Docker:基于自制openjdk8镜像 or 官方openjdk8镜像,制作tomcat镜像
  • Hadoop--Secondary NameNode工作机制,作用及与NameNode HA的区别
  • 云原生周刊:云原生和 AI
  • Django ORM 的常用字段类型、外键关联的跨表引用技巧,以及 `_` 和 `__` 的使用场景
  • Kubernetes资源管理实战:从理论到落地的完整指南
  • 结束,起点。有感于2024博客之星评选
  • 飞天侠:用 aioredis 加速你的 Redis 操作
  • 《AI大模型趣味实战》第10集:开发一个基于Mermaid的AI绘图网站
  • SSTI知识点汇总
  • Mysql进阶篇
  • 一家做运动鞋的网站好/推广专员
  • wordpress七牛视频教程/大连网络营销seo
  • 500元做网站/企业推广网络营销
  • 网站建设服务费应该做到什么科目/第三方营销平台有哪些
  • 网站模版配置数据库/佛山网站优化软件
  • 珠海网站建立/seo薪酬如何