C/C++每日一练(20230518) 表列序号、移除元素、接雨水

news2024/11/25 20:49:46

目录

1. Excel表列序号  🌟

2. 移除元素  🌟

3. 接雨水  🌟🌟🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. Excel表列序号

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。

例如,

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入: columnTitle = "A"
输出: 1

示例 2:

输入: columnTitle = "AB"
输出: 28

示例 3:

输入: columnTitle = "ZY"
输出: 701

示例 4:

输入: columnTitle = "FXSHRXW"
输出: 2147483647

提示:

  • 1 <= columnTitle.length <= 7
  • columnTitle 仅由大写英文组成
  • columnTitle 在范围 ["A", "FXSHRXW"] 内

出处:

https://edu.csdn.net/practice/28091685

代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    int titleToNumber(string s)
    {
        long num = 0;
        for (int i = 0; i < s.size(); i++)
        {
            num = (num * 26) + (s[i] - 64);
        }
        return num;
    }
};

输出:


2. 移除元素

给你一个数组 nums 和一个值 val,你需要​ 原地​ 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并​ 原地​ 修改输入数组

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝
int len = removeElement(nums, val);

// 在函数里修改输入数组对于调用者是可见的。 // 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。 for (int i = 0; i < len; i++) {     print(nums[i]); }

示例 1:

输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2]
解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。

示例 2:

输入:nums = [0,1,2,2,3,0,4,2], val = 2
输出:5, nums = [0,1,4,0,3]
解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。注意这五个元素可为任意顺序。你不需要考虑数组中超出新长度后面的元素。

提示:

  • 0 <= nums.length <= 100
  • 0 <= nums[i] <= 50
  • 0 <= val <= 100

出处:

https://edu.csdn.net/practice/28091686

代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    int removeElement(vector<int> &nums, int val)
    {
        int count = 0;
        for (int i = 0; i < nums.size(); i++)
        {
            if (nums[i] != val)
            {
                nums[count++] = nums[i];
            }
        }
        return count;
    }
};

输出:


3. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

示例 1:

输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出:6
解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 

示例 2:

输入:height = [4,2,0,3,2,5]
输出:9

提示:

  • n == height.length
  • 0 <= n <= 3 * 10^4
  • 0 <= height[i] <= 10^5

以下程序实现了这一功能,请你填补空白处的内容:

```c++
#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    int trap(vector<int> &height)
    {
        int res = 0;
        int left = 0, left_max = 0;
        int right = height.size() - 1, right_max = 0;
        while (left < right)
        {
            _____________________;
        }
        return res;
    }
};
```

出处:

https://edu.csdn.net/practice/28182236

代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    int trap(vector<int> &height)
    {
        int res = 0;
        int left = 0, left_max = 0;
        int right = height.size() - 1, right_max = 0;
        while (left < right)
        {
            if (height[left] < height[right])
            {
                if (height[left] > left_max)
                {
                    left_max = height[left];
                }
                else
                {
                    res += left_max - height[left];
                }
                left++;
            }
            else
            {
                if (height[right] > right_max)
                {
                    right_max = height[right];
                }
                else
                {
                    res += right_max - height[right];
                }
                right--;
            }
        }
        return res;
    }
};

输出:


🌟 每日一练刷题专栏 🌟

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

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

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

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

 主页:https://hannyang.blog.csdn.net/

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年美国大学生数学建模竞赛A题受干旱影响的植物群落解题全过程文档及程序

2023年美国大学生数学建模竞赛 A题 受干旱影响的植物群落 原题再现&#xff1a; 背景介绍   不同种类的植物以不同的方式对压力作出反应例如&#xff0c;草场对干旱相当敏感&#xff0c;干旱发生的频率和严重程度各不相同。   许多观察表明不同物种的数量对植物群落在连续…

快速开通ChatGPT Plugin

根据上周OpenAI官方给出的消息&#xff0c;本周ChatGPT Plus用户将全量开放Plugin插件权限。 如果你已经可以访问Plugin Store 可以查看这篇文章获取ChatGPT Plugin的使用和功能介绍 AI“应用商店”来了&#xff01;OpenAI首批70个ChatGPT Plugin最全梳理_evil-tomato的博客-…

Kali-linux免杀Payload生成工具Veil

Veil是一款利用Metasploit框架生成相兼容的Payload工具&#xff0c;并且在大多数网络环境中能绕过常见的杀毒软件。本节将介绍Veil工具的安装及使用。 在Kali Linux中&#xff0c;默认没有安装Veil工具。这里首先安装Veil工具&#xff0c;执行如下所示的命令&#xff1a; roo…

[网络安全]DVWA之XSS(DOM)攻击姿势及解题详析合集

[网络安全]DVWA之XSS&#xff08;DOM&#xff09;攻击姿势及解题详析合集 XSS(DOM)-low levelXSS(DOM)-medium level源代码姿势script与option标签 XSS(DOM)-high level源代码姿势 XSS(DOM)-Impossible level页面源代码代码审计 总结 免责声明&#xff1a;本文仅分享XSS攻击相关…

有标签的各种图片大小的宫格拼图

当自己的数据集是从大图中切割下来的小图&#xff08;根据检测框外括一小部分比例的抠图&#xff0c;后续更新此方法&#xff09;&#xff0c;此时数据集一定是大小不一的图片&#xff0c;若每张都直接输入进行训练那么太小的图片会失真严重&#xff0c;本篇对此提出了解决方法…

阻塞赋值和非阻塞赋值

FPGA这一块和C语言不太一样。 学习FPGA&#xff0c;必须时刻有时钟的概念&#xff0c;而单片机时钟相关性就比较差&#xff0c;FPGA必须把握每一个时钟。 首先介绍一下&#xff0c;非阻塞赋值&#xff0c;这个在时序逻辑里面经常遇见。 reg A&#xff1b; reg B&#xff1b;…

Python绘制柱状图并美化

python绘图合集 往期绘图合集 python绘制简单的折线图 python读取excel中数据并绘制多子图多组图在一张画布上 python绘制带误差棒的柱状图 python绘制多子图并单独显示 python读取excel数据并绘制多y轴图像 本期讲一下python绘制柱状图并使用不同颜色给柱子上色&#xff0c;设…

python@切片slice对象@sequence@range@arange

文章目录 python文档查阅tipsrangenumpy arangenumpy arangepython range&#x1f388; collections容器的抽象基类eg sequence&#x1f388;python序列类型slice切片slice()内置方法itertools.slice()方法 python切片slicesequencerangearange python文档查阅tips preface:想…

【软件测试】软件测试为什么会用到Linux?

作为软件测试工程师&#xff0c;我们首先要知道linux是啥&#xff1f;Linux是操作系统&#xff0c;我们常用的操作系统有Windows和linux&#xff0c;他们的区别是&#xff1a; 一、免费与收费 在中国&#xff0c;windows和linux都是免费的&#xff0c;至少对个人用户是如此&…

iTOP-RK3568开发板Uboot参数-内核启动参数cmdline

目前 cmdline 参数有多个来源,由 U-Boot 进行拼接、过滤重复数据之后再 传给 kernel。U-Boot 阶段的 cmdline 被保存在 bootargs 环境变量中。U-Boot 最 终是通过修改的 kernel DTB 里的 /chosen/bootargs 实现 cmdline 传递。 cmdline 是 uboot 引导内核启动时传递给内核的…

chatgpt赋能Python-left_on_python

了解Python中的left_on函数 在Python编程中&#xff0c;left_on是一个非常重要的函数&#xff0c;特别是在数据处理中。这个函数可以帮助开发者快速、准确地合并或匹配数据&#xff0c;从而更好地分析和处理数据。本篇文章将介绍left_on函数的基本用法和语法&#xff0c;以及在…

chatgpt赋能Python-pycharm主函数

PyCharm主函数&#xff1a;让Python编程更加高效 如果你是一名Python工程师&#xff0c;那么你一定离不开一个优秀的Python集成开发环境&#xff08;IDE&#xff09;。而在这个领域中&#xff0c;PyCharm绝对是最好的之一。其中&#xff0c;PyCharm主函数是一项非常重要的功能…

MSF入侵安卓手机

MSF是Metasploit的简称&#xff0c;Metasploit是一款开源的安全漏洞检测工具&#xff0c;非常强大&#xff0c;分别有Windows版和Linux版&#xff0c;工具里集成了许多微软公布的漏洞(0day)。 我这里做测试的系统是Backbox linux &#xff0c;这是一款网络渗透&#xff0c;信息…

物联网|串口的编程技巧|发送函数分析|初始化函数|IAR显示行号|串口的数据格式|数据帧的设计思路|物联网之蓝牙4.0 BLE基础-学习笔记(9)

文章目录 串口的编程技巧发送函数分析串口&#xff08;UART0)初始化函数主函数体完整代码&#xff1a;TIPS1:IAR显示行号TIPS2:IAR编译出现 Fatal Error[e72]: Segment BANKED_CODE must be defined解决方法&#xff1a; 串口的数据格式 串口的编程技巧 发送函数分析 void Ua…

chatgpt赋能Python-pycharm爬虫电影代码

PyCharm爬虫电影代码详解 作为一位有着10年python编程经验的工程师&#xff0c;我想分享一下关于PyCharm爬虫电影代码的详细介绍和使用方法。 PyCharm简介 PyCharm是由JetBrains开发的一款Python IDE&#xff0c;它为Python开发者提供了一站式的开发环境&#xff0c;包括代码…

WALN网络不存在? 离谱事件解决方法

前情&#xff1a; 本来在高高兴兴赶ddl&#xff0c;突然发现网断了。尝试重连&#xff0c;显示无法连接... 遂重启&#xff0c;结果事情更糟了&#xff0c;WALN就没了&#xff0c;没了&#xff0c;没了... 这张是修好之后的图&#xff0c;但是当时所有包括蓝牙&#xff0c;waln…

例2:子流程

例&#xff1a;如图所示流程&#xff0c;物流Feed经冷却器Chiller冷却后进入子流程Sub进行气液分离。物性包选择Peng-Robinson。 目录 &#xff08;1&#xff09;新建模拟&#xff08;2&#xff09;创建组分列表&#xff08;3&#xff09;定义物性包&#xff08;4&#xff09;…

Goldengate Monitor Agent 安装

Goldengate Monitor & Agent GoldenGate Monitor基础知识1.GoldenGate Monitor介绍2.GoldenGate Monitor 的技术架构如下&#xff1a;3.Oracle GoldenGate4.GoldenGate Monitor Server5.GoldenGate Monitor Repository6.GoldenGate Monitor AgentGOLDENGATE MONITOR安装安…

计算机基础知识之字符编码

目录 1、基础知识2、ASCII编码3、编码格式4、多字节字符集&#xff08;MBCS&#xff09;和中文字符集5、ANSI 标准、国家标准、 ISO 标准6、Unicode 编码7、 UTF-8编码 1、基础知识 &#x1f449;字符&#xff1a;是各种文字和符号的总称&#xff0c;包括各个国家的文字&#…

nodejs进阶(6)—连接MySQL数据库

1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABASE mydb1; mysql> SHOW DATABASES; -------------------- | Database | -------------------- | information_schem…