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

这篇具有很好参考价值的文章主要介绍了C/C++每日一练(20230518) 表列序号、移除元素、接雨水。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

目录

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:

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

输入: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/文章来源地址https://www.toymoban.com/news/detail-458313.html

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

Golang每日一练 专栏

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

Python每日一练 专栏

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

C/C++每日一练 专栏

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

Java每日一练 专栏

到了这里,关于C/C++每日一练(20230518) 表列序号、移除元素、接雨水的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Leetcode171. Excel 表列序号

    给你一个字符串  columnTitle  ,表示 Excel 表格中的列名称。返回  该列名称对应的列序号  。 例如: 题解:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 代码如下: 与本题互逆的题目,在之前的「每日一题」就出现过了,你可以一同复习一下 ~

    2024年02月07日
    浏览(30)
  • Leetcode每日一题——“移除元素”

    各位CSDN的uu们你们好呀,小雅兰又来啦,今天,小雅兰的内容是移除元素,下面,让我们进入Leetcode的世界吧   说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。 你可以

    2023年04月23日
    浏览(54)
  • 【LeetCode】每日一题:移除元素

    目录  题目: 思想1:暴力解法 思想2:创建一个temp数组  思想3:双指针 👻内容专栏:《LeetCode刷题专栏》 🐨本文概括: 27.移除元素 🐼本文作者:花 碟 🐸发布时间:2023.4.15 https://leetcode.cn/problems/remove-element/   点击跳转到LeetCode平台OJ页面(27.移除元素)  👉 示例1: 解

    2023年04月19日
    浏览(73)
  • leetcode-Excel 表列序号

    171. Excel 表列序号 本题与168. Excel表列名称 是互为逆向的 题解: 其实这就是一个26进制数的转换,我们以AB为例,A目前是最高位,那他的值是26*1,因为A对应的是1,B是2,所以值为28

    2024年01月25日
    浏览(34)
  • 移除链表元素_每日一题

    “路虽远,行则将至” ❤️主页: 小赛毛 ☕今日份刷题:移除链表元素 给你一个链表的头节点  head  和一个整数  val  ,请你删除链表中所有满足  Node.val == val  的节点,并返回  新的头节点  。 示例1:  示例2: 示例 3: 题目分析: 这里需要注意一点的是:在oj题目里

    2024年02月09日
    浏览(41)
  • 力扣算法数学类—Excel 表列序号

    目录 Excel 表列序号 题解: 代码: 171. Excel 表列序号 - 力扣(LeetCode) 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如: A - 1 B - 2 C - 3 ... Z - 26 AA - 27 AB - 28  ...   示例 1: 输入: columnTitle = \\\"A\\\" 输出: 1 示例 2: 输入: columnTitle = \\\"AB\\\" 输

    2024年02月16日
    浏览(49)
  • ( 数组) 27. 移除元素 ——【Leetcode每日一题】

    难度:简单 给你一个数组 nums 和一个值 val ,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明

    2024年02月08日
    浏览(441)
  • 【每日一题】移除链表元素(C语言)

    移除链表元素,链接奉上 在 正常 情况: 下我们移除链表元素时,需要该位置的 前结点与后节点 , 在 特别 情况时: 例如 我们发现,需要改变头结点,否则因为返回的 head 因为指向的位置被 free ,会导致程序错误 我们调试时可以在VS或其他的软件进行调试,也不用专门搞

    2024年02月05日
    浏览(57)
  • ( 链表) 203. 移除链表元素 ——【Leetcode每日一题】

    难度:简单 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [], val = 1 输出:[] 示例 3: 输入:head = [7,7,7,7], val = 7 输出:[] 提示:

    2024年02月06日
    浏览(72)
  • C语言每日一题:6.移除元素+合并两个有序数组。

    一:暴力查找的方法: 1.找到对应val值的下标,返回数组的下标。 2.删除对应的下标,从前向后用后面覆盖前面。当后一个是数组最后一个数值是就赋值结束了(注意数组越界的问题)。 3.删除了一个数之后数组元素个数要–。 4.查找和删除是在一个循环里面因为val的值可能

    2024年02月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包