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

news2024/11/18 20:39:40

目录

1. 多组输入求和  ※

2. 螺旋矩阵 II  🌟🌟

3. 路径交叉  🌟🌟🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. 多组输入求和

给定 2 个正整数 a, b ,a 和 b 最多可能有 40 位,求出 a + b 的和。

输入描述

两个正整数 a, b,a 和 b 最多可能有 40 位。一行表示一个数。

输出描述

a + b 的和。

样例输入

111111111111111111111111111111111111111
222222222222222222222222222222222222222

样例输出

333333333333333333333333333333333333333

出处:

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

代码:

#include <iostream>
#include <cstring>
using namespace std;
int main(){
    while (1)
    {
        char s1[200],s2[200];
        int a[200]={0},b[200]={0},l1,l2,c,k,i;
        gets(s1);
        l1=strlen(s1);
        if (l1 == 0) break;
        gets(s2);
        l2=strlen(s2);
        if(l1<l2) k=l2;
        else k=l1;c=k;
        for(i=0;i<l1;k--,i++)
            a[k]=s1[l1-1-i]-'0';
        for(k=c,i=0;i<l2;k--,i++)
            b[k]=s2[l2-1-i]-'0';
        for(i=c;i>=0;i--){
            a[i]+=b[i];
            if(a[i]>=10){
                a[i]=10;
                a[i-1]++;
            }
        }
        if(a[0]!=0){
            for(i=0;i<=c;i++)
                cout<<a[i];
        }else{
            for(i=1;i<=c;i++)
                cout<<a[i];
        }
        cout << endl;
    }
}

输出:


2. 螺旋矩阵 II

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

示例 1:

输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1
输出:[[1]]

提示:

  • 1 <= n <= 20

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

···c++
#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    vector<vector<int>> generateMatrix(int n)
    {
        vector<vector<int>> ans(n, vector<int>(n, 0));
        int i, j = 0, time = 0, cnt = 1; //time记录第几圈
        ans[0][0] = 1;
        while (cnt < n * n)
        {
            ___________________;
            time++;
        }
        return ans;
    }
};
```

出处:

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

代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    vector<vector<int>> generateMatrix(int n)
    {
        vector<vector<int>> ans(n, vector<int>(n, 0));
        int i, j = 0, time = 0, cnt = 1; //time记录第几圈
        ans[0][0] = 1;
        while (cnt < n * n)
        {
			for (i = time, j++; j < n - time && cnt < n * n; j++)
			    ans[i][j] = ++cnt;
			for (j--, i++; i < n - time && cnt < n * n; i++)
			    ans[i][j] = ++cnt;
			for (i--, j--; j >= time && cnt < n * n; j--)
			    ans[i][j] = ++cnt;
			for (j++, i--; i > time && cnt < n * n; i--)
			    ans[i][j] = ++cnt;
            time++;
        }
        return ans;
    }
};

string vectorToString(vector<int> arr){
	string res = "[";
	int size = arr.size();
	for (int i = 0; i < size; i++) {
		res += to_string(arr[i]);
		if (i != size-1) {
			res += ",";
		}
	}
	return res + "]";
}

string vector2DToString(vector<vector<int>> vect) {
    string res = "[";
    size_t len = vect.size();
    for (size_t i = 0; i < len; i++)
	{
        res += vectorToString(vect[i]);
        if (i+1 != len)
        	res += ",";
    }
    res += "]";
    return res;
}

int main()
{
	Solution s;
    cout << vector2DToString(s.generateMatrix(3)) << endl;

	return 0;
}

输出:

[[1,2,3],[8,9,4],[7,6,5]]


3. 路径交叉

给你一个整数数组 distance 

从 X-Y 平面上的点 (0,0) 开始,先向北移动 distance[0] 米,然后向西移动 distance[1] 米,向南移动 distance[2] 米,向东移动 distance[3] 米,持续移动。也就是说,每次移动后你的方位会发生逆时针变化。

判断你所经过的路径是否相交。如果相交,返回 true ;否则,返回 false 。

示例 1:

输入:distance = [2,1,1,2]
输出:true

示例 2:

输入:distance = [1,2,3,4]
输出:false

示例 3:

输入:distance = [1,1,1,1]
输出:true

提示:

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

出处:

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

代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    bool isSelfCrossing(vector<int> &distance)
    {
        int all_step = distance.size(), current_step = 0;
        if (all_step < 4)
            return false;
        current_step = 2;
        while (current_step < all_step && distance[current_step] > distance[current_step - 2])
            current_step++;
        if (current_step == all_step)
            return false;
        if (distance[current_step] >= distance[current_step - 2] - (current_step > 3 ? distance[current_step - 4] : 0))
            distance[current_step - 1] -= current_step > 2 ? distance[current_step - 3] : 0;
        current_step++;
        while (current_step < all_step && distance[current_step] < distance[current_step - 2])
            current_step++;
        return current_step != all_step;
    }
};

int main()
{
	Solution s;
	vector<int> distance = {2,1,1,2};
    cout << (s.isSelfCrossing(distance) ? "true" : "false") << endl;
	distance = {1,2,3,4};
    cout << (s.isSelfCrossing(distance) ? "true" : "false") << endl;
	distance = {1,1,1,1};
    cout << (s.isSelfCrossing(distance) ? "true" : "false") << endl;

	return 0;
}

输出:

true
false
true


🌟 每日一练刷题专栏 🌟

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

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

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

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

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

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

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

相关文章

用golang实现traceroute

Traceroute 概念 traceroute是一种网络诊断工具&#xff0c;通过traceroute可以诊断出本机到目的地IP之间的路由情况&#xff0c;例如路由跳数、延迟、是否可达等信息。该工具在linux环境下的命令是traceroute或者tracepath&#xff0c;在windows下命令是tracert。 工作原理…

动态路由四大天王:OSPF、RIP、IS-IS、BGP,收藏这篇文章足以!

在计算机网络中&#xff0c;OSPF、RIP、IS-IS、BGP 都是常见的路由协议。它们分别具有不同的特点和适用场景。本文将对这四种路由协议进行对比&#xff0c;以帮助读者更好地了解它们的优缺点和适用范围。 OSPF OSPF&#xff08;Open Shortest Path First&#xff09;是一种链路…

中文编程最高境界,不用编程,会用excel就会用,香不香?

一直以来&#xff0c;关于中文编程的争议从未消停过。现如今&#xff0c;中文编程发展又是如何&#xff1f; ★为了实现中文编程&#xff0c;从未停下脚步 我们知道&#xff0c;中国人一直以来为了实现中文编程付出了不懈的努力&#xff0c;前前后后研发了几十种中文编程语言。…

JavaSE补充 | 了解数据结构与常用集合的源码分析

目录 一&#xff1a;数据结构 1. 数据结构剖析 1.1 研究对象一&#xff1a;数据间逻辑关系 1.2 研究对象二&#xff1a;数据的存储结构&#xff08;或物理结构&#xff09; 1.3 研究对象三&#xff1a;运算结构 2. 常见存储结构之&#xff1a;数组 3. 常见存储结构之&am…

奇葩的new Date()

大家平时在开发的时候有没被new Date()折磨过&#xff1f;就是它的诸多怪异的设定让你每每用的时候&#xff0c;都可能不小心踩坑。造成程序意外出错&#xff0c;却一下子找不到问题出处&#xff0c;那叫一个烦透了…… 下面&#xff0c;我就列举它的“四宗罪”及应用思考 可恶…

微前端运行时

目录 微前端运行时基于 SPA 的微前端架构应用生命周期 微前端运行时 谈到微前端绕不开的话题就是为什么不适用 iframe 作为承载微前端子应用的容器&#xff0c;其实从浏览器原生的方案来说&#xff0c;iframe 不从体验角度上来看几乎是最可靠的微前端方案了&#xff0c;主应用…

关于FPV图传系统时延讨论

关于FPV图传系统时延讨论 1. 源由2. 时延测试方法3. 时延测试资料4. 关于模拟图传5. 关于FPV时延感受5.1 静态时延5.2 动态时延 6. 参考资料7. 附录 DJI 图传系统 1. 源由 视频图传系统最重要的几个指标&#xff1a; 分辨率视角帧率时延传输距离 目前高清图传主要规则&#…

【Cartopy基础入门】如何丝滑的加载Geojson数据

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 Cartopy基础入门 【Cartopy基础入门】Cartopy的安装 【Cartopy基础入门】如何丝滑的加载Geojson数据 文章目录 Cartopy基础入门一、Geojson数据来源二…

C语言 非本地跳转 实现native层TryCatch

前言 最近研究native hook的技术&#xff0c;了解到了这个非本地跳转&#xff0c;本文就是介绍他&#xff0c;对于解决native crash非常有用。 非本地跳转介绍 C语言的本地跳转是指goto、break、continue等语句&#xff0c;但是这个语句最大局限就是只能实现函数内部的跳转。…

Day3 自学Pytorch 数据集 torchvision.transforms类&torchvision.datasets.ImageFolder类

1.torchvision.transforms类 可调用的函数列表https://pytorch.org/vision/stable/transforms.html 介绍几个常用的函数&#xff1a; ① transforms.Resize(&#xff09; 将图像转换成目标大小 参数列表&#xff1a; size (sequence or int)&#xff1a; &#xff08;h,w&a…

Scala 中的 List 列表详解

目录 一、不可变长的List列表 1.List列表的声明与遍历 2.List列表的map、flatMap函数 3.List列表的filter过滤函数 4.List列表的count计数函数 二、可变长的List列表 1.可变长List声明 2.可变长List的添加方法 三、List列表其余的方法与函数 一、不可变长的List列表 …

任务调度原理 通俗讲解详细(FreeRTOS)

寄存器说明 以cortex-M3&#xff0c;首先先要了解比较特别的几个寄存器&#xff1a; r15 PC程序计数器&#xff08;Program Counter&#xff09;,存储下一条要执行的指令的地址。 r14 LR连接寄存器&#xff08;Link Register &#xff09;&#xff0c;保存函数返回地址&#x…

记忆化搜索-滑雪

题意 给定一个 R 行 C 列的矩阵&#xff0c;表示一个矩形网格滑雪场。 矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。 一个人从滑雪场中的某个区域内出发&#xff0c;每次可以向上下左右任意一个方向滑动一个单位距离。 当然&#xff0c;一个人能够滑动到某…

论文笔记:基于U-Net深度学习网络的地震数据断层检测

0 论文简介 论文&#xff1a;基于U-Net深度学习网络的地震数据断层检测 发表&#xff1a;2021年发表在石油地球物理勘探 1 问题分析和主要解决思路 问题&#xff1a;断层智能识别&#xff0c;就是如何利用人工智能技术识别出断层。 解决思路&#xff1a;结合&#xff35;-N…

nginx快速入门

本文应侧重操作应用&#xff0c;复杂原理详见相关理论类笔记 Nginx 快速入门笔记 Nginx 的简介 1. 什么是 nginx ​ Nginx 可以作为静态页面的 web 服务器&#xff0c;同时还支持 CGI 协议的动态语言&#xff0c;比如 perl、php等。但是不支持 java。Java 程序只能通过与 t…

tauri+rust 构建项目

文章目录 安装前依赖创建项目第一步第二步第三步最后一步 调试 昨天菜鸟尝试使用 taurirust 构建项目&#xff0c;按照网上的感觉都不是很全&#xff0c;所以这里菜鸟自己总结一下&#xff0c;主要是给自己今后学习 taurirust 使用的&#xff0c;当然也不知道会不会去学&#x…

全球医疗器械研发投入前十,这家中国公司领跑榜单

2023年&#xff0c;《医疗设计》杂志公布了最新一期百强榜&#xff0c;评选出了2022全球医疗器械行业最高研发支出和项目的十家公司。这些公司的每年研发支出超过收入的15%。尽管经济面临逆风&#xff0c;医疗器械行业的销售额却创下了新的历史高点&#xff0c;研发支出也加速增…

多通道振弦传感器无线采集仪 多类型数字传感器独立发送协议

多通道振弦传感器无线采集仪 多类型数字传感器独立发送协议 独立发送传感器数据时&#xff0c;每个传感器是一个独立的数据包&#xff0c;发送至预设的 TCP 服务器。 数据包字符串&#xff0c;结构说明如下&#xff1a; UDID>MDS传感器类型码第 x 个传感器>第 x 包/总 x …

K8s中内置的Prometheus 异常,不断重启的解决方案

要说明的一点是&#xff1a;此处理方式会进行数据的删除&#xff0c;并且多实例情况下最好都做下操作。多实例都操作一遍的意思就是比如我普罗米修斯有如下四个&#xff1a; 如果Prometheus-k8s-0一直重启&#xff0c;则不光需要操作Prometheus-k8s-0&#xff0c;也需要对它的…

VC++如何获取所有运行中的Word实例的COM对象

目录 一 问题的提出二 工程创建2.1 创建一个基于对话框的MFC工程2.2 导入word相关的自动化包装类 三 代码实例3.1 初始化COM库3.2 对话框类头文件修改3.3 对话框类实现文件1.根据进程名称获取进程ID2. 获取一个进程下所有的窗口3. 判断某个窗口是否为主窗口4. 判断word进程下面…