c语言练习93:环形链表的约瑟夫问题

环形链表的约瑟夫问题

环形链表的约瑟夫问题_牛客题霸_牛客网

描述

编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。

下一个人继续从 1 开始报数。

n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少?

示例1

输入:

5,2

返回值:

3

说明:

开始5个人 1,2,3,4,5 ,从1开始报数,1->1,2->2编号为2的人离开
1,3,4,5,从3开始报数,3->1,4->2编号为4的人离开
1,3,5,从5开始报数,5->1,1->2编号为1的人离开
3,5,从3开始报数,3->1,5->2编号为5的人离开
最后留下人的编号是3      

示例2

输入:

1,1

返回值:

1

代码:

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param n int整型* @param m int整型* @return int整型*/
#include <stdio.h>
#include <stdlib.h>
typedef struct ListNode ListNode ;
//创建结点
ListNode* ListBuyNode(int x) {ListNode* node = (ListNode*)malloc(sizeof(ListNode));if (node == NULL) {perror("malloc fail!");exit(1);}node->val = x;node->next = NULL;return node;
}
//创建带环链表
ListNode* CreatList(int n) {
//创建链表ListNode* phead = ListBuyNode(1);ListNode* ptail = phead;int i = 2;for (i = 2; i <= n; i++) {ListNode* node = ListBuyNode(i);ptail->next = node;ptail = ptail->next;}ptail->next = phead;return ptail;
}
int ysf(int n, int m ) {// write code hereint count = 1;//刚开始的时候cur已经走到了套,头结点也会报数,所以count应该置为1//创建不带头的单向循环链表ListNode* prev = CreatList(n);//对链表进行约瑟夫游戏ListNode* cur = prev->next; //就是头结点while (cur->next != cur) {if (count == m) {prev->next = cur->next;free(cur);cur = NULL;cur = prev->next;count = 1;} else {prev = cur;cur = cur->next;count++;}}return cur->val;
}

 野指针

野指针是指没有指向有效内存位置的一个指针在作删除或释放对象的操作的时候,如果没有即时将指针的值置为NULL,或者有其他的有效内存地址的一个重新指向,那指针仍然指向之前释放后内存的存储位置,其就是野指针.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用IDEA2022.1创建Maven工程出现卡死问题

使用IDEA创建Maven工程出现卡死问题&#xff0c;这个是一个bug 这里是别人和官方提供这个bug,大家可以参考一下 话不多说&#xff0c;上教程 解决方案&#xff1a; 方案1&#xff1a;更新idea版本 方案2&#xff1a;关闭工程&#xff0c;再新建&#xff0c;看图

知识分享:如何制作一个电子名片二维码?

参加国际展会、寻找合作商、线下客户拜访、渠道开发、商务对接、行业交流大会……在这些场合中&#xff0c;商务名片都是必不可少的。随着二维码应用的流行&#xff0c;名片上使用二维码已经非常普遍了。你也可以在商务名片上使用一个自己设计的电子名片二维码&#xff0c;扫描…

微软Azure OpenAI支持数据微调啦!可打造专属ChatGPT

10月17日&#xff0c;微软在官网宣布&#xff0c;现在可以在Azure OpenAI公共预览版中对GPT-3.5-Turbo、Babbage-002 和Davinci-002模型进行数据微调。 使得开发人员通过自己的数据集&#xff0c;便能打造独一无二的ChatGPT。例如&#xff0c;通过海量医疗数据进行微调&#x…

微信小程序一键获取位置

需求 有个表单需要一键获取对应位置 并显示出来效果如下&#xff1a; 点击一键获取获取对应位置 显示在 picker 默认选中 前端 代码如下: <view class"box_7 {{ showChange1? change-style: }}"><view class"box_11"><view class"…

大鼠药代动力学(PK参数/ADME)+毒性 实验结果分析

在真实做实验的时候&#xff0c;出现了下面真实测试的一些参数&#xff0c;一起学习一下&#xff1a; 大鼠药代动力学&#xff1a; 为了进一步了解化合物 96 的药代动力学性质&#xff0c;我们选择化合物 500 进行 SD大鼠药代动力学评估。 经静脉注射和口服给药后观察大鼠血药…

互联网行业汇总

互联网行业汇总&#xff0c;全网最全&#xff01;选行业不愁 从事互联网选什么行业&#xff1f;这似乎是很多朋友的困惑。 所以这里给大家把互联网行业做个细致的汇总&#xff0c;每个行业列举几个典型的APP&#xff0c;简单拆解下各自的盈利模式&#xff0c;希望能给大家提供参…

【力扣1528】重新排列字符串

&#x1f451;专栏内容&#xff1a;力扣刷题⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、题目描述二、题目分析1、Java代码2、C代码 一、题目描述 给你一个字符串 s 和一个长度相同的整数数组 indices。 请你…

Linux块设备缓存Bcache使用

1 Bcache简介 Bcache是Linux内核块层cache&#xff0c;它使用SSD来作为HDD硬盘的cache&#xff0c;从而起到加速作用。Bcache内核模块仅在Linux 3.10及以上版本支持&#xff0c;因此使用Bcache&#xff0c;需要将内核升级到3.10及以上版本&#xff0c;并在内核配置项中打开Bca…

【学习笔记】RabbitMQ04:延迟队列的原理以及实现代码

参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 七、延迟队列7.1 什么是延迟队列7.2 延迟队列的解决方案7.2.1 定时任务7.2.2 **被动取消**7.2.3 JDK的延迟队列7.2.3 采用消息中间件&#xff08;rabbitMQ7.2.3.1 适用专门优化后的死信队列实现延迟队…

攻防世界web篇-unserialize3

得出php代码残篇 将代码补全后再在线php运行工具中进行运行 在浏览器输入后得到下面的界面 这里需要将O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;} 改为 O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;}

单片机入门后该怎么学习进一步提升?

单片机入门后该怎么学习进一步提升&#xff1f; 可以将你目前会的单片机基础先整理一下&#xff0c;你看看运用这些基本的外设或者一些入门知识能做个什么东西&#xff0c;最近很多小伙伴找我&#xff0c;说想要一些单片机资料&#xff0c;然后我根据自己从业十年经验&#xff…

查询企业信息的四种方法

在工作中或者对于找工作的求职人来说&#xff0c;怎么查看企业的信息呢&#xff1f;可能很多人会想到各种查查类软件&#xff0c;但是这类软件需要会员或者付费才能查看&#xff0c;对于没有会员的人来说&#xff0c;有没有其他查询企业的方法呢&#xff1f;答案肯定是有的&…

Python 爬虫实战之爬淘宝商品并做数据分析

前言 是这样的&#xff0c;之前接了一个金主的单子&#xff0c;他想在淘宝开个小鱼零食的网店&#xff0c;想对目前这个市场上的商品做一些分析&#xff0c;本来手动去做统计和分析也是可以的&#xff0c;这些信息都是对外展示的&#xff0c;只是手动比较麻烦&#xff0c;所以…

IDC:到2027年,全球生成式AI支出将达到1430亿美元

全球著名信息调查咨询机构IDC在官网公布了一项调查&#xff0c;到2027年&#xff0c;全球生成式AI&#xff08;Generative AI&#xff0c;简称Gen AI&#xff09;支出将达到1430亿美元&#xff0c;5年复合年增长率为73.3%。 该支出包括&#xff1a;生成式AI的软件以及相关基础…

报错:AttributeError: module ‘tensorflow‘ has no attribute ‘flags‘

改成如下&#xff1a; 报错原因&#xff1a;tensorflow1.x与2.x版本问题不兼容

3D Web轻量化工具HOOPS Web Platform助力Rapid DCS快速上市碳估算产品!

总部位于英国的Rapid DCS提供全面的交钥匙解决方案和服务&#xff0c;帮助建筑环境领域的客户充分利用数字化的优势。 Rapid DCS技术总监James Hunter表示&#xff1a;“如今的建筑项目需要一套与20甚至10年前的建筑项目不同的功能。” “例如&#xff0c;虽然成本规划一直很重…

性能监控软件是什么?有哪些优势?

在现代科技驱动的世界中&#xff0c;计算机系统的性能对于企业和个人用户都至关重要。性能监控软件是一种不可或缺的工具&#xff0c;可以帮助我们实时跟踪、分析和优化系统的性能。本文将介绍性能监控软件的概念、其重要性以及如何选择和使用这些工具来提高系统效率。 一、性能…

【微服务 SpringCloud】实用篇 · Eureka注册中心

微服务&#xff08;3&#xff09; 文章目录 微服务&#xff08;3&#xff09;1. Eureka的结构和作用2. 搭建eureka-server2.1 创建eureka-server服务2.2 引入eureka依赖2.3 编写启动类2.4 编写配置文件2.5 启动服务 3. 服务注册1&#xff09;引入依赖2&#xff09;配置文件3&am…

如何让你的Node.js应用程序处理数百万的API请求

目录 一、了解 Node.JS 和 API 请求 二、优化 NodeJS 以实现高性能 1.使用异步操作 2.实现缓存 3.优化数据库查询 4.负载平衡 5.水平扩展 三、测试和监控性能 1.负载测试 2.应用程序性能监控(APM) 四、结论 一、了解 Node.JS 和 API 请求 在我们深入研究这些技术之…

29栈与队列——优先队列

目录 LeetCode之路——347. 前 K 个高频元素 分析 优先队列 简单示例 运行结果 源码简析 LeetCode之路——347. 前 K 个高频元素 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: num…