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

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

目录

1. 二维数组找最值  🌟🌟

2. 排序  🌟

3. 二叉树展开为链表  🌟🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. 二维数组找最值

从键盘输入m(2<=m<=6)行n(2<=n<=6)列整型数据,编程找出其中的最大值及其所在位置的行列下标值并输出。 输入格式: 在第一行输入数据的行数m和列数n的值,从第二行开始以二维数组的形式依次输入m行n列整型数据。 输出格式: 依次输出最大值及其所在位置的行列下标值,中间以逗号,分隔,最后换行。

输入样例:

3 4
1 2 3 4
8 9 7 6
5 6 7 0

输出样例:

9,1,1

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

```c++
#include <stdio.h>
int main()
{
    int a[6][6];
    int m, n;
    int i, j;
    int max;
    int indexx = 0, indexy = 0;
    scanf("%d %d", &m, &n);
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
            if (i == 0 && j == 0)
            {
                max = a[i][j];
                indexx = 0;
                indexy = 0;
            }
            else
            {
                _____________;
            }
        }
    }
    printf("%d,%d,%d\n", max, indexx, indexy);
    return 0;
}
```

出处:

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

代码:

#include <stdio.h>
int main()
{int a[6][6];int m, n;int i, j;int max;int indexx = 0, indexy = 0;scanf("%d %d", &m, &n);for (i = 0; i < m; i++){for (j = 0; j < n; j++){scanf("%d", &a[i][j]);if (i == 0 && j == 0){max = a[i][j];indexx = 0;indexy = 0;}else{if (a[i][j] > max){max = a[i][j];indexx = i;indexy = j;}}}}printf("%d,%d,%d\n", max, indexx, indexy);return 0;
}

输入输出:

3 4
1 2 3 4
8 9 7 6
5 6 7 0
9,1,1


2. 排序

由键盘上输入n个整数,请将这些数从大到小排序,然后输出排序后的数列。

输入

输入包含两行:

第一行是n(1 <= n <= 1000)。

第二行是n个整数,邻近两数之间用一个空格隔开。

输出

输出排序后的n个整数,邻近两数之间用一个空格隔开。

输入示例

5
8 2 5 1 2

输出示例

8 5 2 2 1

数据范围

输入和输出均为int范围的整数

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

```c++
#include <iostream>
using namespace std;
int main()
{
    int n, tmp;
    cin >> n;
    int *a = new int[n];
    for (int i = 0; i < n; i++)
        cin >> a[i];
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            __________________;
        }
    }
    for (int i = 0; i < n; i++)
    {
        cout << a[i];
        if (i != n - 1)
            cout << " ";
    }
    return 0;
}
```

出处:

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

代码:

#include <stdio.h>
int main()
{int a[6][6];int m, n;int i, j;int max;int indexx = 0, indexy = 0;scanf("%d %d", &m, &n);for (i = 0; i < m; i++){for (j = 0; j < n; j++){scanf("%d", &a[i][j]);if (i == 0 && j == 0){max = a[i][j];indexx = 0;indexy = 0;}else{if (a[i][j] > max){max = a[i][j];indexx = i;indexy = j;}}}}printf("%d,%d,%d\n", max, indexx, indexy);return 0;
}

输出:

5
8 2 5 1 2
8 5 2 2 1


3. 二叉树展开为链表

给你二叉树的根结点 root ,请你将它展开为一个单链表:

  • 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。
  • 展开后的单链表应该与二叉树 先序遍历 顺序相同。

示例 1:

输入:root = [1,2,5,3,4,null,6]
输出:[1,null,2,null,3,null,4,null,5,null,6]

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [0]
输出:[0]

提示:

  • 树中结点数在范围 [0, 2000] 内
  • -100 <= Node.val <= 100

进阶:你可以使用原地算法(O(1) 额外空间)展开这棵树吗?

出处:

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

代码:

#define null INT_MIN
#include <bits/stdc++.h>
using namespace std;struct TreeNode
{int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};class Solution
{
public:void rconnect(TreeNode *&node, TreeNode *pmove){if (pmove == nullptr)return;node->right = new TreeNode(pmove->val);node->left = nullptr;node = node->right;rconnect(node, pmove->left);rconnect(node, pmove->right);}void flatten(TreeNode *root){if (root == nullptr)return;TreeNode *head = new TreeNode(null);TreeNode *newroot = head;rconnect(head, root);newroot = newroot->right->right;root->right = newroot;root->left = nullptr;}
};TreeNode* buildTree(vector<int>& nums)
{if (nums.empty()) return nullptr;TreeNode *root = new TreeNode(nums.front());queue<TreeNode*> q;q.push(root);int i = 1;while(!q.empty() && i < nums.size()){TreeNode *cur = q.front();q.pop();if(i < nums.size() && nums[i] != null){cur->left = new TreeNode(nums[i]);q.push(cur->left);}i++;if(i < nums.size() && nums[i] != null){cur->right = new TreeNode(nums[i]);q.push(cur->right);}i++;}return root;
}vector<int> preorderTraversal(TreeNode* root) {vector<int> res;stack<TreeNode*> st;st.push(root);while (!st.empty()) {TreeNode* node = st.top();st.pop();if (node != nullptr) {res.push_back(node->val);st.push(node->right);st.push(node->left);}elseres.push_back(null);}while (res.back()==null)res.pop_back();return res;
}string vectorToString(vector<int> vect) {stringstream ss;ss << "[";for (size_t i = 0; i < vect.size(); i++){ss << (vect[i] == null ? "null" : to_string(vect[i]));ss << (i < vect.size() - 1 ? "," : "]");}return ss.str();
}int main() {Solution s;vector<int> nums = {1,2,5,3,4,null,6};  TreeNode* root = buildTree(nums);  s.flatten(root); cout << vectorToString(preorderTraversal(root)) << endl;return 0;  
}

输出:

[1,null,2,null,3,null,4,null,5,null,6]


🌟 每日一练刷题专栏 🌟

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

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

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

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

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

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

相关文章:

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

目录 1. 二维数组找最值 &#x1f31f;&#x1f31f; 2. 排序 &#x1f31f; 3. 二叉树展开为链表 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 二维…...

Leetcode.1379 找出克隆二叉树中的相同节点

题目链接 Leetcode.1379 找出克隆二叉树中的相同节点 easy 题目描述 给你两棵二叉树&#xff0c;原始树 original和克隆树 cloned&#xff0c;以及一个位于原始树 original中的目标节点 target。 其中&#xff0c;克隆树 cloned是原始树 original的一个 副本 。 请找出在树 …...

2022年团体程序设计天梯赛-总决赛

目录 一、L1-1 今天我要赢 二、L1-2 种钻石 三、L1-3 谁能进图书馆 四、L1-4 拯救外星人 五、L1-5 试试手气 六、L1-6 斯德哥尔摩火车上的题 七、L1-7 机工士姆斯塔迪奥 八、L1-8 静静的推荐 九、L2-1 插松枝 十、L2-2 老板的作息表 十一、L2-3 龙龙送外卖 十二、L…...

大数据技术之Sqoop——SQL to Hadoop

一、简介sqoop &#xff08;sql to hadoop&#xff09;是一款开源的工具,主要用于在 Hadoop&#xff08;Hive&#xff09;与传统的数据库&#xff08;mysql、postgresql...&#xff09;间进行数据的传递&#xff0c;可以将一个关系型数据库&#xff08;例如 : MSQL,Oracle,Post…...

Java议题

序号议题 解释MyBatis官网1mapper文件中什么时候使用 # 什么时候必须用 $ 1、关键字作为参数&#xff0c;使用"$"&#xff0c;两边不加""。 2、非关键字作为参数&#xff0c;使用"#"防注入。 其他情况优先使用"#" 2主键回填&#xff0…...

【阅读论文】USAD:多变量时间序列上的无监督异常检测

USAD : UnSupervised Anomaly Detection on Multivariate Time Series 摘要 IT系统的自动监控是Orange目前面临的挑战。考虑到其IT运营所达到的规模和复杂性&#xff0c;随着时间的推移&#xff0c;用于推断正常和异常行为的测量所需的传感器数量急剧增加&#xff0c;使得传统…...

Java多线程:ReentrantLock中的方法

公平锁与非公平锁 ReentrantLock有一个很大的特点&#xff0c;就是可以指定锁是公平锁还是非公平锁&#xff0c;公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的&#xff0c;而非公平锁就是一种获取锁的抢占机制&#xff0c;是随机获得锁的&#xff0c;先来的未必就一…...

RabbitMQ初识快速入门

RabbitMQ初识&快速入门1.初识MQ1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯1.2.技术对比&#xff1a;2.快速入门2.1.安装RabbitMQ2.1.1 下载镜像2.1.2 安装MQ2.2.RabbitMQ消息模型2.3.导入Demo工程2.4.入门案例2.4.1.publisher实现2.4.2.consumer实现2.5.总结1.初识MQ…...

由浅入深了解HashMap源码

由经典面试题引入&#xff0c;讲解一下HashMap的底层数据结构&#xff1f;这个面试题你当然可以只答&#xff0c;HashMap底层的数据结构是由&#xff08;数组链表红黑树&#xff09;实现的&#xff0c;但是显然面试官不太满意这个答案&#xff0c;毕竟这里有一个坑需要你去填&a…...

P5318 【深基18.例3】查找文献

题目描述 小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个&#xff08;也有可能没有&#xff09;参考文献的链接指向别的博客文章。小K 求知欲旺盛&#xff0c;如果他看了某篇文章&#xff0c;那么他一定会去看这篇文章的参考文献&#xff08;如果他之前已经看过这篇参考…...

Error caught was: No module named ‘triton‘

虽然报错但是不影响程序运行&#xff1a; A matching Triton is not available, some optimizations will not be enabled. Error caught was: No module named triton解决&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple triton2.0.0.dev20221120...

Ruby设计-开发日志

Log 1 产品 Product 1.1 创建 Product 创建名为 project 的 rails 应用 rails new project创建 Product 模型 rails generate scaffold Product title:string description:text image_url:string price:decimal这会生成一个 migration &#xff0c;我们需要进一步修改这个…...

SpringBoot 调用外部接口的三种方式

方式一&#xff1a;使用原始httpClient请求 /** description get方式获取入参&#xff0c;插入数据并发起流程* params documentId* return String*/ RequestMapping("/submit/{documentId}") public String submit1(PathVariable String documentId) throws ParseE…...

C 中的结构体

C 中的结构体 C 数组允许定义可存储相同类型数据项的变量&#xff0c;结构是 C 编程中另一种用户自定义的可用的数据类型&#xff0c;它允许您存储不同类型的数据项。 结构体中的数据成员可以是基本数据类型&#xff08;如 int、float、char 等&#xff09;&#xff0c;也可以…...

nodejs安装教程

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时&#xff0c;可以用于在服务器端运行 JavaScript 代码。以下是 Node.js 的安装教程&#xff1a; 步骤 1&#xff1a;下载 Node.js 访问 Node.js 的官方网站 https://nodejs.org/&#xff0c;进入官方下载页面。 在下载页…...

【华为OD机试】1029 - 整数与IP地址间的转换

文章目录一、题目&#x1f538;题目描述&#x1f538;输入输出&#x1f538;样例1二、代码参考作者&#xff1a;KJ.JK&#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x…...

【FPGA实验1】FPGA点灯工程师养成记

对于FPGA几个与LED相关的实验&#xff08;包括按键点灯、流水灯、呼吸灯等&#xff09;的记录&#xff0c;方便日后查看。这世界上就又多了一个FPGA点灯工程师了&#x1f60f; 成为一个FPGA点灯工程师分三步&#xff1a;一、按键点灯1、按键点灯程序2、硬件实现二、流水灯1、流…...

操作系统论文导读(三):Stack-based scheduling of realtime processes基于堆栈的实时进程调度

目录 一、论文核心思想&#xff1a; 二、基本的相关条件 作业运行的条件&#xff1a; 作业抢占其他作业的条件&#xff1a; 三、基本的相关定义 四、基本的相关调度 五、基本的相关调度 六、堆栈资源共享 七、与PCP的比较 一、论文核心思想&#xff1a; -引入了一个抢占优…...

音频延时测试方法与实现

音频延时测试方法有以下几种 1、使用专业的测试设备&#xff0c;通过专业的音频测试仪器可以准确测量音频延时&#xff0c;如常见声学分析仪、信号发生器、声卡Smaart&#xff08;介绍测试延时方法链接&#xff1a;https://blog.csdn.net/weixin_48408892/article/details/1273…...

在 Python 中管理机密的四种方法

我们生活在一个应用程序用于做任何事情的世界&#xff0c;无论是股票交易还是预订沙龙&#xff0c;但在幕后&#xff0c;连接是使用秘密完成的。必须适当管理机密&#xff0c;例如数据库密码、API 密钥、令牌等&#xff0c;以避免任何泄露。 管理机密的需求对任何组织都至关重…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...