对网站建设展望网站域名申请程序

news/2025/9/25 15:26:37/文章来源:
对网站建设展望,网站域名申请程序,网站开发所需的费用,app网站平台搭建一 问题的引入 约瑟夫问题的源头完全可以命名为“自杀游戏”。本着和谐友爱和追求本质的目的#xff0c;可以把问题描述如下#xff1a; 现有n个人围成一桌坐下#xff0c;编号从1到n#xff0c;从编号为1的人开始报数。报数也从1开始#xff0c;报到m人离席#xff0c…一 问题的引入 约瑟夫问题的源头完全可以命名为“自杀游戏”。本着和谐友爱和追求本质的目的可以把问题描述如下 现有n个人围成一桌坐下编号从1到n从编号为1的人开始报数。报数也从1开始报到m人离席从离席者的下一位在座成员开始继续从1开始报数。复现这个过程各成员的离席次序或者求最后一个在座的成员编号。 二 思路的讲解 1. 想必我们看到这个游戏场景再结合链表相关的知识我们也就大概有了一个方向了吧~~~ 没错解决约瑟夫问题的关键就是创建一个带环链表 2.当我们链表创建好之后就是考虑如何讲单链表转换成带头循环链表 是滴就是将我们的链表的尾结点指向我们的头节点即可 ptail-next phead; 对应代码如下 ListNode* CreatList(int x)//链表创建 {ListNode* phead ListBuyNode(1);//注意是从数据1开始为每一个人创建结点ListNode* ptail phead;//注意当链表只有一个数据时头节点也是尾结点//来到这里说明头节点已经创建好下面就需要进行尾插即可尾插之前需找到前面的结点for (int i 2; i x; i){ListNode* node ListBuyNode(i);ptail-next node;ptail ptail-next;//尾结点时刻更新}//以上只是单链表创建好了下面需把他变成单向循环链表ptail-next phead;return ptail;//返回尾结点即可有了尾结点可以直接找到头节点若是返回头节点需要遍历才可以找到尾结点} 3.以上我们把前期准备工作已经做好了接下来我们开始约瑟夫游戏 其实就是一个删除结点的问题 注意我们这里不能直接删除结点 1.)删除结点之前我们需要先找到这个结点的前一个结点也就是pre这个结点 2.)其次就是找到这个结点的后一个结点即pcur-next; 3.)最最最重要的是我们在删除这个结点之后不要忘了让下一个人重新报数 草图如下 代码如下 接下来重复以上操作即可也就是对应代码里面的循环具体详见代码 while (pcur-next ! pcur){if (count m){//报到为m 的人直接删除就Okpre-next pcur-next;free(pcur);//此时pcur是个野指针pcur pre-next;count 1;//删除结点后别忘了count 是从1重新开始报数}else{pre pcur;//pcur移动之前需让pre 来保存pcur位置pcur pcur-next;count;//注意别忘了要报数}} 相信各位对以上的分析应该有了自己的理解了吧~~~ 对于IO答题方式完整代码如下 #define _CRT_SECURE_NO_WARNINGS #includestdio.h #includeassert.h #includemalloc.hint yef(int x, int y); typedef struct ListNode {int val;//数据域struct ListNode* next;//指针域 }ListNode;//重命名 ListNode* ListBuyNode(int x)//创建结点 {ListNode* node (ListNode*)malloc(sizeof(ListNode));if (node NULL)//会存在开辟失败{perror(malloc fail\n);return 5;}//空间开辟成功node-val x;node-next NULL;return node; } ListNode* CreatList(int x)//链表创建 {ListNode* phead ListBuyNode(1);//注意是从数据1开始为每一个人创建结点ListNode* ptail phead;//注意当链表只有一个数据时头节点也是尾结点//来到这里说明头节点已经创建好下面就需要进行尾插即可尾插之前需找到前面的结点for (int i 2; i x; i){ListNode* node ListBuyNode(i);ptail-next node;ptail ptail-next;//尾结点时刻更新}//以上只是单链表创建好了下面需把他变成单向循环链表ptail-next phead;return ptail;//返回尾结点即可有了尾结点可以直接找到头节点若是返回头节点需要遍历才可以找到尾结点} int ysf(int n, int m) {ListNode* ptail CreatList(n);//为1~n个人创建单循环链表注意链表创建返回的就是尾结点//开始游戏涉及到删除结点注意不能直接删除删除前需要先找到对应的前一个结点和后一个结点ListNode* pcur ptail-next;//游戏是从第一个人开始的ListNode* pre ptail;//当前节点的前一个结点int count 1;//就是一个报数器注意是从1开始的而不是0开始的因为游戏是从第一个人开始while (pcur-next ! pcur){if (count m){//报到为m 的人直接删除就Okpre-next pcur-next;free(pcur);//此时pcur是个野指针pcur pre-next;count 1;//删除结点后别忘了count 是从1重新开始报数}else{pre pcur;//pcur移动之前需让pre 来保存pcur位置pcur pcur-next;count;//注意别忘了要报数}}//此时只剩一个结点return pcur-val; } int main() {int ret ysf(43,9001);printf(%d, ret);return 0; }对于OJ的答题方式完整代码如下 //解答思路 首先创建一个带头单向循环链表 其次删除这个链表的结点注意不能直接删除要找到删除此节点的前一个和后一个结点typedef struct ListNode ListNode;//重命名ListNode* ListBuyNode(int x)//创建结点{ListNode* node (ListNode*)malloc(sizeof(ListNode));if(node NULL)//会存在开辟失败{perror(malloc fail\n);}//空间开辟成功node-val x;node-next NULL;return node;}ListNode* CreatList(int x)//链表创建{ListNode* phead ListBuyNode(1);//注意是从数据1开始为每一个人创建结点ListNode* ptail phead;//注意当链表只有一个数据时头节点也是尾结点//来到这里说明头节点已经创建好下面就需要进行尾插即可尾插之前需找到前面的结点for(int i 2;i x;i){ListNode* node ListBuyNode(i);ptail-next node;ptail ptail-next;//尾结点时刻更新}//以上只是单链表创建好了下面需把他变成单向循环链表ptail-next phead;return ptail;//返回尾结点即可有了尾结点可以直接找到头节点若是返回头节点需要遍历才可以找到尾结点} int ysf(int n, int m ) {ListNode* pre CreatList(n);//为1~n个人创建单循环链表注意链表创建返回的就是尾结点//开始游戏涉及到删除结点注意不能直接删除删除前需要先找到对应的前一个结点和后一个结点ListNode* pcur pre-next;//游戏是从第一个人开始的int count 1;//就是一个报数器注意是从1开始的而不是0开始的因为游戏是从第一个人开始while(pcur-next ! pcur){if(count m){//报到为m 的人直接删除就Okpre-next pcur-next;free(pcur);//此时pcur是个野指针pcur pre-next;count 1;//删除结点后别忘了count 是从1重新开始报数}else {pre pcur;//pcur移动之前需让pre 来保存pcur位置pcur pcur-next;count;//注意别忘了要报数}}//此时只剩一个结点return pcur-val;}各位大佬都已经来这里了若是觉得还不错咱点个赞互关一下呗蟹蟹大家了小生有礼了。

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

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

相关文章

如何在预算与风险之间做选择 iOS 混淆(源码混淆 vs IPA 混淆)的成本-收益分析与实战决策框架

本文从成本-收益和工程决策角度,提供 iOS 混淆(源码混淆 vs IPA 混淆) 的 ROI 评估模型、实战案例与 5 步决策流程,帮助团队在有限预算下科学选择混淆策略并工程化落地(含映射表、灰度与测试建议)。在现实工程里…

【兰州大学主办|EI稳定检索】第二届信息光学与光电技术国际学术会议(CIOT 2025)

第二届信息光学与光电技术国际学术会议(CIOT 2025)将于2025年10月24-26日于昆明召开。会议将围绕信息光学、光电技术等在光学领域中的最新研究成果,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者…

深入解析:设计模式-状态模式详解

深入解析:设计模式-状态模式详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

【IEEE出版】第五届网络通信与信息安全国际学术会议(ICNCIS 2025)

2025年第五届网络通信与信息安全国际学术会议(ICNCIS2025)将于2025年10月17-19日于哈尔滨召开。【连续四届EI、Scopus双检索 | 快至会后4个月EI检索】 【已签约IEEE出版申请,已上线IEEE官方列表会议!EI检索稳定有保…

第16章 Day19 Charles安装和使用---微信小程序逆向

Charles安装(三方抓包工具) Charles客户端下载: 官网地址:https://www.charlesproxy.com/download/ 选择适合自己的系统版本下载下载安装完成后激活 激活网站地址:https://www.zzzmode.com/mytools/charles/打开安…

定制网站 北京服务器上怎么搭建网站

一,工具简介 tcpconnect工具追踪执行活动TCP连接的内核函数(例如,通过connect()系统调用;accept()是被动连接)。 详细地说,tcpconnect通过钩住内核中的tcp_v4_connect和/或tcp_v6_connect函数来工作,这些函数是在尝试建立TCP连接时被调用的。当这些函数被调用时,tcpc…

如何让百度快速收录网页如何让百度快捷收录网页的方法

如何让百度快速收录网页如何让百度快捷收录网页的方法2025-09-25 15:15 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; di…

061_尚硅谷_算术运算符课堂练习

061_尚硅谷_算术运算符课堂练习1.练习1:97天假期,有xx个星期零xx天 2.练习2:华氏温度134.2转为摄氏度

DBLINK的创建和使用(总结)

DBLINK的创建和使用(总结) 目录DBLINK的创建和使用(总结)一、什么是 DBLINK?二、创建 DBLINK 的三种主要方式方式一:使用 tnsnames.ora 文件(最常用、最推荐)步骤 1:配置 tnsnames.ora 文件步骤 2:创建 DBLI…

Could not resolve host: mirrorlist.centos.org

执行 [root@localhost yum.repos.d]# yum install bind-utils时,报centos-release-scl-rh Could not resolve host: mirrorlist.centos.org; Unknown error解决上面问题[root@localhost ~]# cd /etc/yum.repos.d [roo…

axi 4k边界检测

在AXI4协议中,一个突发传输(burst transfer)不能跨越4KB的边界,为啥呢,因为我们认为每个slave设备通常是4KB对齐的,为了避免一次burst的传输可能越过目的slave这个风险,所以就定了这个规矩 更深的说,确保数据传…

GOSIM 开源出海工作坊:给开源创业者的忠告

“出海”两个字,在开源语境里不是浪漫叙事,而是生死抉择。在这个数字机遇无限的时代,开源不仅是技术创新的象征,更是全球商业扩张的关键驱动力。本次分享将带你走过开源项目从诞生到跨越国界、进入全球市场的完整历…

华为,让金融智能体月映千江 - 指南

华为,让金融智能体月映千江 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco…

轻量级架构决策记录工具 - ADR Tools

ADR Tools是一个基于Unix shell脚本的命令行工具,用于管理和维护架构决策记录(ADRs)。它支持创建、更新和链接决策文档,采用Markdown格式存储,可与版本控制系统完美集成。ADR Tools - 架构决策记录工具 项目描述 …

一文搞懂Flex弹性布局空间分配规则

自从Flex布局面世后,基本每个项目我都是使用FLex,特别是小程序端,官方就是主推的Flex布局,相比以前你得费一些周折的布局方式,现在都能轻轻松松实现,用的多但是有一些计算细节其实也是理解不是特别深的,最近在B…

“小身材的大心脏”——HT-AD3PS-1+ 在成都恒利泰的射频江湖里到底做了什么?

“小身材的大心脏”——HT-AD3PS-1+ 在成都恒利泰的射频江湖里到底做了什么?“小身材的大心脏”——HT-AD3PS-1+ 在成都恒利泰的射频江湖里到底做了什么? 最近帮客户做一套“又要轻、又要稳、还要耐得住高低温”的射…

AT_agc012_c [AGC012C] Tautonym Puzzle 题目分析

# AT_agc012_c [AGC012C] Tautonym Puzzle## 题目描述当字符串 $ x $ 满足以下条件时,称 $ x $ 为*好字符串*。- 条件:$ x $ 可以表示为某个长度不少于 $ 1 $ 的字符串 $ y $ 重复两次所得的字符串 $ yy $。例如,`a…

电子商务网站建设pdfwordpress怎么重新安装

文章目录 一、初识TypeScript1、安装TypeScript2、Hello TypeScript 二、结合项目---配置1、tsconfig.jsontsconfig.json 重要字段compilerOptions 每个选项的详细说明 2、ts-loader 三、语法1、基本类型2、类型注解3、函数4、接口5、类6、泛型 四、结合项目---vue3结合使用 一…

详细介绍:回调函数与错误处理

详细介绍:回调函数与错误处理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

Django系列(七)HttpRequest(请求)和HttpResponse(响应)对象

一、概述 Django 使用请求和响应对象在系统中传递状态。 当一个页面被请求时,Django 会创建一个 HttpRequest 对象,这个对象包含了请求的元数据。然后,Django 加载相应的视图,将 HttpRequest 作为视图函数的第一个…