牛客上面的约瑟夫环问题

news2024/9/24 13:21:26

 

对于本题 我感觉还是链表做起来舒服 

数组也可以做 但是数组需要去控制循环 不太好控制 我之前搞了 最后看别人的实现 

但是链表搞了一次就搞好了 香的嘞~

下面是代码

用单链表实现循环 再去删除要删除的人 

5个人 数到2 你们在纸上画图 我就不画了 对于数组实现你们可以去牛客等上面去看看 我就不给了 

#include <stdio.h>
#include<stdlib.h>
typedef struct node {
    int x;
    struct node* next;
}node;
node* buy(int i)
{
    node* tmp = (node*)malloc(sizeof(node));
    tmp->x = i;
    tmp->next = NULL;
    return tmp;
}
int main() {
    int n = 0, m = 0;
    node* tmp = NULL, * str = NULL;
    scanf("%d %d", &n, &m);
    for (int i = 1; i <= n; i++)
    {
        if (tmp == NULL)
        {
            tmp = buy(i);
            str = tmp;
        }
        else
        {
            str->next = buy(i);
            str = str->next;
        }
    }
    str->next = tmp;
    if (m == 1)
    {
        return str->x;
    }
    while (tmp->next != tmp)
    {
        for (int i = 1; i < m - 1; i++)
        {
            tmp = tmp->next;
        }
        tmp->next = tmp->next->next;
        tmp = tmp->next;
    }
    return tmp->x;
}

香的嘞~

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

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

相关文章

python读取json文件

import json# 文件路径(同目录文件名即可,不同目录需要绝对路径) path 1.json# 读取JSON文件 with open(path, r, encodingutf-8) as file:data json.load(file)#data为字典 print(data) print(type(data))

前端Vue入门-day03-用Vue实现工程化、组件化开发

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 生命周期 Vue 生命周期 和 生命周期的四个阶段 Vue 生命周期函数&#xff08;钩子函数&#xff09; 案例…

为公网远程访问树莓派配置一个固定TCP地址

今天我们就为大家介绍&#xff0c;如何设置cpolar&#xff0c;为树莓派的SSH构建一个永久固定TCP地址。 如果看过我们之前的文章介绍&#xff0c;就会很轻易的发现&#xff0c;能够让公共互联网通过SSH访问树莓派的关键&#xff0c;是cpolar打通的数据隧道&#xff0c;因此想要…

【双指针优化DP】The 2022 Hangzhou Normal U Summer Trials H

Problem - H - Codeforces 题意&#xff1a; 思路&#xff1a; 首先很明显是DP 因为只有1e6个站点&#xff0c;因此可以以站点作为阶段 注意到K很小&#xff0c;因此可以尝试把这个当作第二维 设dp[i][j]为到达第i个站点&#xff0c;已经花了j元钱的最小步数 然后就想了一…

Redis持久化机制 RDB、AOF、混合持久化详解!如何选择?| JavaGuide

本文已经收录进 JavaGuide(「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。) Redis 持久化机制属于后端面试超高频的面试知识点,老生常谈了,需要重点花时间掌握。即使不是准备面试,日常开发也是需要经常用到的。 最近抽空对之前写的 Redis 持久化…

18 张图,总结 Java 容器化的最佳实践~

一、系统选择 关于最基础的底层镜像, 通常大多数我们只有三种选择: Alpine、Debian、CentOS; 这三者中对于运维最熟悉的一般为 CentOS, 但是很不幸的是 CentOS 后续已经不存在稳定版, 关于它的稳定性问题一直是个谜一样的问题; 这是一个仁者见仁智者见智的问题, 我个人习惯是能…

RunnerGo:详细使用教程,带你轻松拿捏性能测试

RunnerGo简介&#xff1a; RunnerGo是基于go语言开发的轻量级性能测试平台&#xff0c;支持接口测试、自动化测试、性能测试等3大测试模块&#xff0c;相对于传统的性能测试工具&#xff0c;它具有运行速度快、资源占用少等特点。并且还支持可实时查看性能测试报告的平台 Run…

mybatisplus入门教程

mybatisplus入门教程 文章目录 mybatisplus入门教程什么是Mybatis Plus快速入门创建数据库 gk_mybatis_plus创建数据库表添加数据创建空的Spring Boot项目添加依赖配置数据库连接MySQL编写代码实体类 GkUserDomainmapperxml映射文件业务层&#xff0c;实现类控制层创建请求配置…

Vue2基础八、插槽

零、文章目录 Vue2基础八、插槽 1、插槽 &#xff08;1&#xff09;默认插槽 作用&#xff1a;让组件内部的一些 结构 支持 自定义需求: 将需要多次显示的对话框, 封装成一个组件问题&#xff1a;组件的内容部分&#xff0c;不希望写死&#xff0c;希望能使用的时候自定义。…

Redission分布式锁详解

前言 ​ 在分布式系统中&#xff0c;当不同进程或线程一起访问共享资源时&#xff0c;会造成资源争抢&#xff0c;如果不加以控制的话&#xff0c;就会引发程序错乱。而分布式锁它采用了一种互斥机制来防止线程或进程间相互干扰&#xff0c;从而保证了数据的一致性。 常见的分…

【低代码】对低代码未来发展方向的思考

写在前面 看似不起波澜&#xff0c;日复一日的努力&#xff0c;会突然在某一天&#xff0c;让你看到坚持的意义。 1 基础介绍 1.1 什么是低代码 低代码开发是一种软件开发方法&#xff0c;它允许开发人员使用图形界面和少量代码来快速构建应用程序。开发人员可以使用预定义的…

Docker 之 Consul容器服务更新与发现

一、Consul介绍 1、什么是服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的&#xff0c;不保障高可用性&#xff0c;也不考虑服务的压力承载&#xff0c;服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构&#xff…

你们公司的【前端项目】是如何做测试的?字节10年测试经验的我这样做的...

前端项目也叫web端项目&#xff08;通俗讲就是网页上的功能&#xff09;是我们能够在屏幕上看到并产生交互的体验。 前端项目如何做测试&#xff1f; 要讲清楚这个问题&#xff0c;先需要你对测试流程现有一个全局的了解&#xff0c;先上一张测试流程图&#xff1a; 测试流程…

QT--day3(定时器事件、对话框)

头文件代码&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> //定时器事件处理时间头文件 #include <QTime> //时间类 #include <QtTextToSpeech> #include <QPushButton> #include <QLabel&g…

AXI协议之AXILite开发设计(二)

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 二、AXI-Lite关键代码分析 1、时钟与…

Bootstrap框架(组件)

目录 前言一&#xff0c;组件1.1&#xff0c;字体图标1.2&#xff0c;下拉菜单组件1.2.1&#xff0c;基本下拉菜单1.2.2&#xff0c;按钮式下拉菜单 1.3&#xff0c;导航组件1.3.1&#xff0c;选项卡导航1.3.2&#xff0c;胶囊式导航1.3.3&#xff0c;自适应导航1.3.4&#xff…

【LeetCode】114.二叉树展开为链表

题目 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1&…

【黑马头条之图片识别文字审核敏感词】

本笔记内容为黑马头条项目的图片识别文字审核敏感词部分 目录 一、需求分析 二、图片文字识别 三、Tess4j案例 四、管理敏感词和图片文字识别集成到文章审核 一、需求分析 产品经理召集开会&#xff0c;文章审核功能已经交付了&#xff0c;文章也能正常发布审核。对于上次…

【已解决】React Antd Form.List 表单校验无飘红提示的问题

背景 我想对 Form.List 构建的表单进行校验&#xff0c;比如下拉框中的内容应当至少有一个 XX&#xff0c;表单的长度不能少于多少等等对 List 内容进行校验&#xff0c;并给出飘红提示 问题 比如我有这样一段代码来实现对 list 具体内容的校验&#xff0c;但是写完后发现没有…

专科程序员,想要面试获胜必须要做的两个点

这两天看到一篇关于专科程序员找工作的文章&#xff0c;感受到了其中的坎坷 那么作为专科程序员&#xff0c;我们应该如何获胜&#xff0c;获得工作机会呢&#xff1f; 根据我的经验&#xff0c;以下两点一定会给你带来更多的机会。 一个是学好英语 另外一个是构建自己的…