【每日刷题】Day30

news2024/11/26 14:29:14

【每日刷题】Day30

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 牛牛的链表添加节点_牛客题霸_牛客网 (nowcoder.com)

2. 牛牛的链表删除_牛客题霸_牛客网 (nowcoder.com)

3. 牛牛的双链表求和_牛客题霸_牛客网 (nowcoder.com)

1. 牛牛的链表添加节点_牛客题霸_牛客网 (nowcoder.com)

//思路:无。链表基础

#include <stdio.h>


 

typedef struct ListNode

{

    int val;

    struct ListNode* next;

}LN;

int main()

{

    int n = 0;

    int x = 0;

    scanf("%d",&n);

    scanf("%d",&x);

    int y = x;

    int arr[10000] = {0};

    int i = 0;

    for(i = 0;i<n;i++)

    {

        scanf("%d",&arr[i]);

    }

    LN* Sentry = (LN*)malloc(sizeof(LN));

    LN* newhead = Sentry;

    int j = 0;

    for(;j<i;j++)

    {

        LN* newnode = (LN*)malloc(sizeof(LN));

        newnode->next = NULL;

        newnode->val = arr[j];

        newhead->next = newnode;

        newhead = newhead->next;

    }

    LN* pmove = Sentry->next;

    while(--y)

    {

        pmove = pmove->next;

    }

    LN* newnode = (LN*)malloc(sizeof(LN));

    newnode->val = x;

    newnode->next = pmove->next;

    pmove->next = newnode;

    LN* pprint = Sentry->next;

    while(pprint)

    {

        printf("%d ",pprint->val);

        pprint = pprint->next;

    }

    return 0;

}

2. 牛牛的链表删除_牛客题霸_牛客网 (nowcoder.com)

//思路:三指针。一个指针指向需要删除节点的上一个节点,一个指针指向需要删除节点的下一个节点。特别需要注意每个指针行动的时机。

#include <stdio.h>

typedef struct ListNode

{

    int val;

    struct ListNode* next;

}LN;

int main()

{

    int n = 0;

    int x = 0;

    scanf("%d",&n);

    scanf("%d",&x);

    int arr[10000] = {0};

    int i = 0;

    for(i = 0;i<n;i++)

    {

        scanf("%d",&arr[i]);

    }

    LN* Sentry = (LN*)malloc(sizeof(LN));

    LN* newhead = Sentry;

    int j = 0;

    for(;j<i;j++)//将数组中的数据存入链表

    {

        LN* newnode = (LN*)malloc(sizeof(LN));

        newnode->next = NULL;

        newnode->val = arr[j];

        newhead->next = newnode;

        newhead = newhead->next;

    }

    LN* pdel = Sentry->next;

    LN* pcur = Sentry;

    while(pdel->next)//用pdel->next是为了防止下面对tmp空指针的解引用

    {

        LN* tmp = pdel->next;

        if(pdel->val==x)//如果pdel指针指向的是需要删除的节点,pcur->next指向要删除节点的下一个节点

        {

            pcur->next = pdel->next;

            free(pdel);//释放要要删除的节点

            pdel = tmp;//走向下一个位置

        }

        else//如果pdel指向的不是需要删除的节点,pcur和pdel都往前走

        {

            pcur = pcur->next;

            pdel = tmp;

        }

    }

    if(pdel->val==x)//由于上面while的条件是pdel->next,因此最后一个节点没法处理,这里出了循环需要再处理一下

    {

        pcur->next = pdel->next;

        free(pdel);

        pdel = NULL;

    }

    LN* pmove = Sentry->next;

    while(pmove)

    {

        printf("%d ",pmove->val);

        pmove = pmove->next;

    }

    return 0;

}

3. 牛牛的双链表求和_牛客题霸_牛客网 (nowcoder.com)

//思路:双指针。链表基础。

#include <stdio.h>

typedef struct ListNode

{

    int val;

    struct ListNode* next;

}LN;


 

int main()

{

    int n = 0;

    scanf("%d",&n);

    int arr1[10000] = {0};

    int arr2[10000] = {0};

    int i = 0;

    for(i = 0;i<n;i++)

    {

        scanf("%d",&arr1[i]);

    }

    for(i = 0;i<n;i++)

    {

        scanf("%d",&arr2[i]);

    }

    LN* Sentry1 = (LN*)malloc(sizeof(LN));

    LN* Sentry2 = (LN*)malloc(sizeof(LN));

    LN* newhead1 = Sentry1;

    LN* newhead2 = Sentry2;

    int j = 0;

    for(;j<i;j++)

    {

        LN* newnode1 = (LN*)malloc(sizeof(LN));

        LN* newnode2 = (LN*)malloc(sizeof(LN));

        newnode1->next = NULL;

        newnode2->next = NULL;

        newnode1->val = arr1[j];

        newnode2->val = arr2[j];

        newhead1->next = newnode1;

        newhead2->next = newnode2;

        newhead1 = newhead1->next;

        newhead2 = newhead2->next;

    }

    LN* pmove1 = Sentry1->next;

    LN* pmove2 = Sentry2->next;

    while(pmove1)

    {

        pmove2->val+=pmove1->val;

        pmove1 = pmove1->next;

        pmove2 = pmove2->next;

    }

    LN* pmove = Sentry2->next;

    while(pmove)

    {

        printf("%d ",pmove->val);

        pmove = pmove->next;

    }

    return 0;

}

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

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

相关文章

Django整合多种认证方式

承接上一篇&#xff1a;Django知识点总结-CSDN博客 目录 25.使用 Django REST framework实现用户认证和授权 26.通过djangorestframework-simplejwt使用JWT(JSON Web Token) 27.使用django-auth-ldap进行用户认证 28. 使用django-cas-ng实现集中认证及实现单点登录 29. …

c# winform快速建websocket服务器源码 wpf快速搭建websocket服务 c#简单建立websocket服务 websocket快速搭建

完整源码下载----->点击 随着互联网技术的飞速发展&#xff0c;实时交互和数据推送已成为众多应用的核心需求。传统的HTTP协议&#xff0c;基于请求-响应模型&#xff0c;无法满足现代Web应用对低延迟、双向通信的高标准要求。在此背景下&#xff0c;WebSocket协议应运而生…

C++函数重载之类型引用和类型本身

在C中&#xff0c;当我们讨论类型引用&#xff08;也称为引用类型&#xff09;与类型本身被视为“同一个特征标”&#xff08;signature&#xff09;时&#xff0c;我们实际上是在讨论引用类型在函数重载解析&#xff08;function overload resolution&#xff09;和模板参数推…

Github 2024-05-02 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10PureBasic项目1Kubernetes: 容器化应用程序管理系统 创建周期:3618 天开发语言:Go协议类型:Apache License 2.0Star数量:106913 个…

C#知识|Dictionary泛型集合的使用总结

哈喽,你好,我是雷工! 以下是C#Dictionary泛型集合的学习笔记。 01 Dictionary泛型集合 1.1、Dictionary<K,V>通常称为字典, 1.2、其中<K,V>是自定义的,用来约束集合中元素类型。 1.3、在编译时检查类型约束, 1.4、无需装箱拆箱操作, 1.5、操作与哈希表(Ha…

美国零售媒体(广告业)指南:快速增长、不断扩展的业态和新兴机遇

Guide to retail media: Rapid growth, expanding formats, and emerging opportunities --- 零售媒体如何通过CTV和其他合作伙伴关系向上发展 原文作者&#xff1a;Sara Lebow | 2024年2月16日 整理编辑&#xff1a;数字化营销工兵 I 2024年5月2日 ​​​​​​​ &#…

基于HAL库的stm32中定时器的使用--定时器中断每隔一秒进行led灯的闪烁以及定时器生成PWM

一&#xff1a;什么是定时器 &#xff08;1&#xff09;stm32定时器&#xff0c;是存在于stm32单片机中的一个外设。stm32共有八个定时器&#xff0c;两个高级定时器&#xff08;TIM1、TIM8&#xff09;&#xff0c;四个通用定时器&#xff08;TIM2、TIM3、TIM4、TIM5&#xff…

B树:原理、操作及应用

B树&#xff1a;原理、操作及应用 一、引言二、B树概述1. 定义与性质2. B树与磁盘I/O 三、B树的基本操作1. 搜索&#xff08;B-TREE-SEARCH&#xff09;2. 插入&#xff08;B-TREE-INSERT&#xff09;3. 删除&#xff08;B-TREE-DELETE&#xff09; 四、B树的C代码实现示例五、…

selenium 4.x 之验证码处理(python)

验证码处理 一般情况公司如果涉及web自动化测试需要对验证码进行处理的方式一般有一下几种&#xff1a; 关闭验证码功能&#xff08;开发处理&#xff09;设置万能验证码&#xff08;开发处理&#xff09;使用智能识别库进行验证 通过第三方打码平台识别验证码 1. 跳过验证功…

[基础] Unity Shader:顶点着色器(vert)函数

顶点着色器&#xff08;Vertex Shader&#xff09;是图形渲染的第一个阶段&#xff0c;它的输入来自于CPU。顶点着色器的处理单位是顶点&#xff0c;CPU输入进来的每个顶点都会调用一次顶点着色器函数&#xff0c;也就是我们在Shader代码里所定义的vert函数。本篇我们将会通过顶…

uniapp+vue社区车位预订租赁系统 微信小程序

本私家车位共享系统有管理员&#xff0c;用户两个角色。管理员可以对用户信息&#xff0c;车辆类型信息进行管理&#xff0c;并且可以审核用户提交的租赁订单&#xff0c;用户可以注册登录&#xff0c;新增车辆信息&#xff0c;查看车位信息并且租赁&#xff0c;并且可以支付。…

SQL 基础 | UNION 用法介绍

在SQL中&#xff0c;UNION操作符用于合并两个或多个SELECT语句的结果集&#xff0c;形成一个新的结果集。 使用UNION时&#xff0c;合并的结果集列数必须相同&#xff0c;并且列的数据类型也需要兼容。 默认情况下&#xff0c;UNION会去除重复的行&#xff0c;只保留唯一的行。…

企业计算机服务器中了lockbit勒索病毒如何处理,lockbit勒索病毒解密流程建议

在虚拟的网络世界里&#xff0c;人们利用网络获取信息的方式有很多&#xff0c;网络为众多企业提供了极大便利性&#xff0c;也大大提高了企业生产运营效率&#xff0c;方便企业开展各项工作业务。但随着网络技术的不断发展与应用&#xff0c;越来越多的企业开始关注企业网络数…

06 - metastore服务、hive服务启动脚本以及相关使用技巧

目录 1、metastore服务 1.1、metastore运行模式 1.2、metastore部署 1.3、测试 2、编写Hive服务启动脚本 3、Hive使用技巧 3.1、Hive常用交互命令 3.2、Hive参数配置方式 3.3、Hive常见属性配置 1、metastore服务 Hive的metastore服务的作用是为Hive CLI或者Hiveserv…

linux内核源码分析--核心网络文件和目录

图3-2显示了在/proc/sys中由网络代码所使用的主要目录&#xff0c;就每个目录而言&#xff0c;都列出了在哪一章描述其文件。 proc/sys/net bridge ipv4 core route neigh conf 图3-2/proc/sys/net 中的核心目录 根据前借所述&#xff0c;我们来看net中的树根是如何定义的&…

SpringCloudAlibaba:3.1dubbo

dubbo 概述 简介 Apache Dubbo 是一款 RPC 服务开发框架&#xff0c;用于解决微服务架构下的服务治理与通信问题 官方提供了 Java、Golang、Rust 等多语言 SDK 实现 Dubbo的开源故事 最早在2008年&#xff0c;阿里巴巴就将Dubbo捐献到开源社区&#xff0c;它很快成为了国内开源…

R语言的学习—5—多元数据直观表示

1、数据读取 ## 数据整理 d3.1read.xlsx(adstats.xlsx,d3.1,rowNamesT);d3.1 #读取adstats.xlsx表格d3.1数据 barplot(apply(d3.1,1,mean)) #按行做均值条形图 barplot(apply(d3.1,1,mean),las3) barplot(apply(d3.1,2,mean)) #按列做均值图条形图 barplot(a…

JavaEE >> Spring MVC(1)

MVC MVC&#xff1a;Model View Controller 的缩写&#xff0c;是一种软件架构模式&#xff0c;将软件系统分为模型、视图和控制器三个部分。 Mode&#xff08;模型&#xff09;&#xff1a;是应⽤程序中⽤于处理应⽤程序数据逻辑的部分。通常模型对象负责在数据库中存取数据…

【C++STL详解(五)】--------list的介绍与使用

目录 前言 一、list的介绍 二、list的使用 Ⅰ.默认成员函数 1、构造函数 2、赋值重载 3、析构函数 Ⅱ、容量 1.size() Ⅲ、迭代器与遍历 1.beginend (正向迭代器) 2.rbeginrend (反向迭代器) 3.front 4.back Ⅳ、增删查改 1.push_front 2.pop_front 3.push_b…

【跟马少平老师学AI】-【神经网络是怎么实现的】(九)长短期记忆网络

一句话归纳&#xff1a; 1&#xff09;RNN也会存在梯度消失的问题。 2&#xff09;同一句话&#xff0c;对于不同的任务&#xff0c;句中不同的词起的作用也不一样。 3&#xff09;LSTM&#xff08;长短期记忆&#xff09;子网络&#xff1a; 门&#xff0c;让输入经过运算&…