2024春晚纸牌魔术原理----环形链表的约瑟夫问题

一.题目及剖析

https://www.nowcoder.com/practice/41c399fdb6004b31a6cbb047c641ed8a?tab=note

这道题涉及到数学原理,有一般公式,但我们先不用公式,看看如何用链表模拟出这一过程

二.思路引入

思路很简单,就试创建一个单向循环链表,然后模拟报数,删去对应的节点

三.代码引入

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @param m int整型 
 * @return int整型
 */
 #include <stdlib.h>
typedef struct ListNode ListNode ;
 ListNode* BuyNode(int x)
 {
    ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));
    newNode->val = x;
    newNode->next = NULL;
    return newNode;
 }
 ListNode* createList(int n)
 {
    ListNode* phead = BuyNode(1);
    ListNode* ptail = phead;
    for(int i = 2; i <=n; i++)
    {
        ptail->next = BuyNode(i);
        ptail = ptail->next;
    }
    ptail->next = phead;
    return phead;
 }
int ysf(int n, int m ) {
    // write code here
    ListNode* head = createList(n);
    ListNode* prev = NULL;
    ListNode* pcur = head;
    int count = 1;
    while (pcur != pcur->next) {
        if(count == m)
        {
            prev->next = pcur->next;
            free(pcur);
            pcur = prev->next;
            count = 1;
        }
        else
        {
            prev = pcur;
            pcur = pcur->next;
            count++;
        }
    }
    return pcur->val;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库管理-第150期 Oracle Vector DB AI-02(20240212)

数据库管理150期 2024-02-12 数据库管理-第150期 Oracle Vector DB & AI-02&#xff08;20240212&#xff09;1 LLM2 LLM面临的挑战3 RAG4 向量数据库LLM总结 数据库管理-第150期 Oracle Vector DB & AI-02&#xff08;20240212&#xff09; 作者&#xff1a;胖头鱼的鱼…

LeetCode:69.x的平方根

嗨嗨嗨&#xff0c;二分又来了&#xff0c;淦它&#xff0c; 这个题官解是&#xff0c;C函数法&#xff0c;二分&#xff0c;和牛顿迭代法&#xff08;暂且搁置&#xff09;&#xff0c; 当然还有暴力&#xff08;不必讨论&#xff0c;就从0开始一个一个试&#xff09;&#…

2.11日学习打卡----初学RocketMQ(二)

2.11日学习打卡 一. RocketMQ整合springboot 首先配置pom.xml文件 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>annotationProcessor</scope></dependency><dependency>…

服装效果图为何要用云渲染100?渲染100邀请码1a12

服装行业是充满创意和竞争的领域&#xff0c;而服装效果图是其中重要一环&#xff0c;以前效果图都是本地渲染&#xff0c;现在越来越多的设计师转向云渲染&#xff0c;以国内最专业的平台渲染100为例&#xff0c;云渲染有以下好处&#xff1a; 1、提高工作效率 设计师可以利用…

Netty源码系列 之 FastThreadLocal源码

目录 Netty优化方案之 FastThreadLocal 前言 ThreadLocal ThreadLocal是干什么的&#xff1f; 为什么要使用ThreadLocal工具类去操控存取目标数据到Thread线程 &#xff1f; ThreadLocal的使用场景 目标数据存储到Thread线程对象的哪里&#xff1f; 怎么样把一个目标数据…

JavaWeb:SpingBoot原理 --黑马笔记

1. 配置优先级 在我们前面的课程当中&#xff0c;我们已经讲解了SpringBoot项目当中支持的三类配置文件&#xff1a; application.properties application.yml application.yaml 在SpringBoot项目当中&#xff0c;我们要想配置一个属性&#xff0c;可以通过这三种方式当中…

Ubuntu Desktop - Terminal 输出全部选中 + 复制

Ubuntu Desktop - Terminal 输出全部选中 复制 1. Terminal2. Terminal 最大化3. Edit -> Select All4. Copy & PasteReferences 1. Terminal 2. Terminal 最大化 3. Edit -> Select All 4. Copy & Paste Edit -> Copy or Shift Ctrl C Edit -> Paste…

【Python网络编程之TCP三次握手】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Python开发技术 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; Python网络编程之[TCP三次握手] 代码见资源&#xff0c;效果图如下一、实验要求二、协议原理2.…

Microsoft Excel 加载数据分析工具

Microsoft Excel 加载数据分析工具 1. 打开 Excel&#xff0c;文件 -> 选项2. 加载项 -> 转到…3. 分析工具库、分析工具库 - VBA4. 打开 Excel&#xff0c;数据 -> 数据分析References 1. 打开 Excel&#xff0c;文件 -> 选项 2. 加载项 -> 转到… ​​​ 3…

Win32 控制台绘图2

之前已经了解在控制台可以调用Win32 api绘图&#xff1b;下面继续加深一下此概念&#xff1b; #include <stdio.h> #include <stdlib.h> #include <windows.h>HWND WINAPI GetConsoleWindow();int main(int argc, char *argv[]) {HWND hwnd; HDC hdc; HPE…

【MySQL探索之旅】MySQL数据库下载及安装教程

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有…

c++ 内存

c 内存 内存分区 1.代码区&#xff1a;程序的机器指令&#xff0c;可以被机器直接执行。 属性&#xff1a;只读和共享 代码区包含什么&#xff1a; 在程序编译时就已经被分配好了地址&#xff0c;并保存在可执行文件的代码段中。当程序运行时&#xff0c;操作系统会将代码段的…

【C++】类的隐式类型转换

文章目录 前言一、隐式类型转换二、explicit关键字总结 前言 一、隐式类型转换 C 类的隐式类型转换是指当一个类定义了适当的构造函数或转换函数时&#xff0c;可以在需要时自动进行类型转换&#xff0c;而无需显式调用转换函数或构造函数。这使得代码更具灵活性和简洁性。下面…

一种简单的车辆过减速带识别方法

识别方法参考以下图片上的这篇论文第三章&#xff0c;有需要的自行知网下载。 一、离散冲击路面建立 我们之前已经搭建了C级路面&#xff0c;直接在C级路面中间某一段加上减速带就可以。这里我加的减速带&#xff0c;如下图所示&#xff0c;高30mm&#xff0c;凸台宽约20mm&am…

刘谦春晚魔术的数学原理

刘谦春晚魔术的数学原理 文章目录 前言魔术介绍魔术揭秘STEP 1STEP 2STEP 3STEP 4STEP 5STEP 6STEP 7 总结 前言 2024 春晚刘谦的第二个魔术很多人跟着一起做了&#xff0c;都觉得非常神奇。我也跟着操作了一遍&#xff0c;结果一眼就让我看出了背后的数学原理。下面给大家介…

自己搭建的幻兽帕鲁服务器怎么一键配置游戏参数?可视化面板调整参数

单击面板内的【调整参数】按钮&#xff0c;即可在下方表格中开启编辑模式。找到“死亡惩罚”配置项&#xff0c;并将它的值修改为&#xff1a;无丢失。 点击【保存】按钮&#xff0c;此时将弹出气泡&#xff0c;提示你当前操作需要在游戏服务重启后才可生效&#xff08;不会…

数据结构哈希表

这里个大家用数组来模拟哈希表 法一&#xff1a;拉链法 法二&#xff1a;开放寻址法 /** Project: 11_哈希表* File Created:Sunday, January 17th 2021, 2:11:23 pm* Author: Bug-Free* Problem:AcWing 840. 模拟散列表 拉链法*/ #include <cstring> #include <iostr…

AI:126-基于深度学习的人体情绪识别与分析

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解

一、冯诺依曼体系结构 1、概念 &#xff08;1&#xff09;什么是冯诺伊曼体系结构&#xff1f; 数学家冯诺伊曼于 1946 年提出存储程序原理&#xff0c;把程序本身当作数据来对待&#xff0c;程序和该程序处理的数据用同样的方式储存。 冯诺伊曼理论的要点是&#xff1a;计算…

复旦TravelPlanner让大语言模型挑战旅程规划

引言&#xff1a;探索语言智能的新疆界——旅行规划 在人工智能的发展历程中&#xff0c;规划一直是核心追求之一。然而&#xff0c;由于缺乏人类水平规划所需的多种认知基础&#xff0c;早期的AI代理主要集中在受限的环境中。随着大语言模型&#xff08;LLMs&#xff09;的出…