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

NowCoder | 环形链表的约瑟夫问题

NowCoder | 环形链表的约瑟夫问题

OJ链接

在这里插入图片描述
思路:

  • 创建带环链表
  • 带环链表的删除节点

代码如下:

#include<stdlib.h>typedef struct ListNode ListNode;
ListNode* ListBuyNode(int x)
{ListNode* node = (ListNode*)malloc(sizeof(ListNode));node->val = x;node->next = NULL;return node;
}
//创建带环链表
ListNode* CreateList(int n)
{ListNode* phead = ListBuyNode(1);ListNode* ptail = phead;for (int 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 here//不带头带环单向循环链表ListNode* prev = CreateList(n);//对改链表进行游戏ListNode* cur = prev->next;int count = 1;//报数while(cur->next!=cur){if(count == m){//删除节点prev->next = cur->next;free(cur);cur = prev->next;count = 1;}else{//继续报数prev = cur;cur = cur->next;count++;}}//此时链表就剩下一个节点了return cur->val;
}
http://www.lryc.cn/news/222007.html

相关文章:

  • 华为政企数据中心网络交换机产品集
  • 多门店自助点餐+外卖二合一小程序源码系统 带完整搭建教程
  • kafka可视化工具
  • Excel 转 Json 、Node.js实现(应用场景:i18n国际化)
  • Redis7--基础篇2(Redis的十大数据类型及常用命令)
  • 1.HTML中网页介绍
  • 执行sql报错only_full_group_by的解决方法
  • 不学51直接学stm32可以吗?学stm32需要哪些基础?
  • 6.1二叉树的递归遍历(LC144,LC15,LC94)
  • Spring基础(3):复习
  • Java-Hbase介绍
  • 【PHP】【Too few arguments to function Firebase\JWT\JWT::encode()。。。。。。。】
  • Centos系统上安装包(软件)时常用的命令wget、rpm、yum分别是什么意思和作用?
  • 虹科干货 | 旧电脑别急着扔,手把手教你搭建NAS系统存储照片
  • python基础(Python高级特性(切片、列表生成式)、字符串的正则表达式、函数、模块、Python常用内置函数、错误处理)培训讲义
  • 计讯物联高精度GNSS接收机:担当小型水库大坝安全监测解决方案的“护航者”
  • 信号发送与处理-上
  • [蓝桥杯 2022 省 A] 推导部分和
  • pytorch复现_UNet
  • 定岗定编设计:企业职能部门定岗定编设计项目成功案例
  • 鸿蒙原生应用开发-DevEco Studio本地模拟器的使用
  • QT blockingFilter blockingMap blockingMapped
  • 【ARFoundation学习笔记】平面检测
  • Python---ljust()--左对齐、rjust()--右对齐、center()--居中对齐
  • spdk用户态块层详解
  • 双通道 H 桥电机驱动芯片AT8833,软硬件兼容替代DRV8833,应用玩具、打印机等应用
  • WPF布局与控件分类
  • 复杂逻辑的开发利器—Mendix快速实现AQL质量抽检
  • RFID系统
  • Markov Chain Fingerprinting to Classify Encrypted Traffic 论文笔记