一串首尾相连的珠子(m个),有n种颜色(n<=10) 设计一种算法去除其中一段,要求包含所有的N种颜色

2023-11-03

继续上代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 8

int getMinSize(int* a,int m){
int color=8;
int flag[9]={0};

int count=0,min=1<<10;
int j;
int minPosition;
for(int i=0;i<m;i++){
    j=i;
    printf("start %d",j+1);
    while(1){
      if(j>=m)
        j=j%m;
      if(flag[a[j]]==0){
        flag[a[j]]=1;
        --color;
      }
      ++count;
      if(color==0){
        if(count<min)
        min=count;
        printf("---end %d\n",j+1);
        break;
      }
      j++;
    }
   color=8;
   count=0;
   memset(flag,0,sizeof(int)*9);
}
return min;
}


int main()
{
    srand((unsigned)time(NULL));
    int test[20];//20个珠子
    for(int i =0;i<20;i++){//初始化数组
        test[i]=rand()%8+1;
        printf(" %d",test[i]);
    }
   printf("\n");
   printf("最少要%d个珠子才能包含所有的颜色",getMinSize(test,20));
   return 0;
}

注意 由于珠子的颜色是随机生成的, 不能确保每一次运行都能把所有的颜色取到(有时候程序会进入死循环),可以适当的将珠子的总数目m取大一点,基本上就能覆盖所有的颜色了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一串首尾相连的珠子(m个),有n种颜色(n<=10) 设计一种算法去除其中一段,要求包含所有的N种颜色 的相关文章

  • 【SpringCloud】Spring cloud Alibaba Sentinel 降级规则

    文章目录 1 概述 2 服务降级 2 1 RT 2 2 异常比例 2 3 异常数 1 概述 本章是接着上一章讲解 SpringCloud Spring cloud Alibaba Sentinel 服务降级 阿里版本Hystrix 2 服务
  • 寻找URL、域名、网站名对应区别和组合关系

    URL URL由三部分组成 资源类型 存放资源的主机域名 资源文件名 也可认为由4部分组成 协议 主机 端口 路径 例如 百度一下 你就知道 http 协议 www 服务器 baidu com 域名 表示根目录 也就是平常我们文件夹的D 是
  • 傅里叶变换回顾与总结

    傅里叶变换回顾与总结对傅里叶变换进行回顾总结 遗忘 要用的时候回顾此浓缩版即可 内容来源于不同出处 函数名称 符号使用不是十分统一 一维二维表达同时存在 略表歉意 1 两个前提线性性 两个信号加权和输出为它们分别输出和的加权 权值为标量 时
  • openwrt无线中继WIFI的设置--WR703N

    主要是配置两个文件 一 vi etc config wireless 在 option disabled 1 这一行下面加入OpenWRT连接WIFI的配置 内容如下 config wifi iface wlan0 option devic
  • QGIS之十四连接PostGIS数据库

    背景 有时候我们需要用到qgis来连接PostGIS数据库进行一些可视化或者空间分析的操作 那我们来了解QGIS如何连接PostGIS数据库 步骤 1 新建连接 在qgis的浏览器窗口中找到PostGIS 右键新建连接 2 输入数据库参数
  • 埋点的机制

    埋点事件 所谓埋点事件 就是埋点需要采集的活动 activity 埋点一般会获取三种事件 曝光事件 页面停留事件 点击事件 曝光事件 主要记录页面被用户浏览次数 上报机制 用户成功进入一个页面时记录一次曝光事件 刷新一次页面也会上报一次 如
  • 使用R语言进行回归诊断

    人们提出所谓回归诊断的问题 其主要内容有 关于误差项是否满足 独立性 等方差性 正态性 选择线性模型是否合适 是否存在异常样本 回归分析的结果是否对某些样本依赖过重 也就是回归模型是否具有稳定性 自变量之间是否存在高度相关 即是否存在多重共
  • MySQL数据库增删改查

    前言 MySQL准确来说是一款开源关系型数据库管理系统 支持多种数据库类型 包括整型 字符型 日期 时间型等 它还支持BLOB 二进制大对象 和文本类型 使得存储各种类型的数据变得更加便捷 平时工作中主要操作无非是增删改查 本文将通过Nav
  • c++学习之虚析构和纯虚析构

    1 多态使用时 如果子类中有属性开辟到堆区 那么父类指针在释放时无法调用子类的析构代码 解决方法 将父类中的析构函数改为虚析构或者是纯虚析构 2 虚析构和纯虚析构共性 1 都可以解决父类指针无法释放子类对象的问题 2 都需要有具体的函数实现
  • vue.js水平时间轴_用Vue.js制作的简单水平时间轴组件

    vue js水平时间轴 Vue水平时间线 Vue Horizontal Timeline a simple horizontal timeline component made with Vue js 一个由Vue js制作的简单水平时间轴
  • happens-before原则与内存屏障

    1 happens before原则定义 编译器和处理器会对我们程序优化而进行指令重排 但需要保证前一个操作结果对后一个依赖操作可见 其实只是在单线程下能保证 否则就禁止指令重排 1 1 指令重排带来的问题 虽然指令重排满足happens
  • Angular 1.0 入门指南

    Angular 1 0 入门指南 1 angular 1 0 特点 数据双向绑定MVVM 隔离作用域 2 Angular 的作用域 scope scope rootScope 先来看一下 angular 的一般使用格式 作用域定义 模块注入
  • 解析最全的 Aspose.Words功能介绍,看这篇就够了

    Aspose Words 为用户提供了广泛的功能 用户可以执行大量与文档相关的任务 从简单地将文档从一种受支持的格式转换为另一种格式并在转换过程中修改这些文档到业务任务 例如创建结构化和视觉上吸引人的文档或自动报告 现代文档格式和标准很复杂
  • nslookup DNS 域名解析 故障排除

    nslookup是一个可以监测DNS服务器是否正常运行 且是否能正确解析域名的工具 参考文章 http www t086 com article 5138 常用方法 nslookup 某一域名A 服务器 正在工作的DNS服务器主机名 Add
  • 如何使用Jar命令将指定文件夹打包成Jar包

    一 场景描述 通常我们在进行项目开发的时候都会使用很多第三方封装的依赖 那么有时候团队内部也会编写一些工具类需要打包成Jar包供其他团队或项目使用 本文主要介绍如果使用jar命令打包指定文件夹下的文件 生成非可执行Jar包 二 Jar命令
  • JavaWeb笔记——JDBC

    1 JDBC综述 在开发中我们使用的是java语言 那么势必要通过java语言操作数 据库中的数据 这就是接下来要学习的JDBC 一套标准接口 1 SQL语句是操作数据库的唯一手段 容易犯错误的几个认知 Navicat与MySQL的关系 前
  • 中移链(基于EOS)DDC-SDK实战-如何集成中移链DDC-SDK

    本文档是关于中移链 DDC SDK 实战 即如何集成基于 EOS 的中移链 DDC SDK 的操作指南 适用于 BSN 开放联盟链 中移链 DDC SDK 开发者 帮助读者了解如何以平台方的角色集成中移链 DDC SDK 前言 2021年1

随机推荐

  • 7--归并排序

    思想 将待排序序列分为两个子序列 再将两个子序列递归的继续分下去 直到序列有序 即序列中只有一个元素 再把所有有序子序列逐层合并为一个整体有序序列 每次合并是将两个有序表合并成一个有序表 图示 具体实现 把待排序序列分为两个子序列 然后让子
  • CUDA中的常量内存__constant__

    GPU包含数百个数学计算单元 具有强大的处理运算能力 可以强大到计算速率高于输入数据的速率 即充分利用带宽 满负荷向GPU传输数据还不够它计算的 CUDA C除全局内存和共享内存外 还支持常量内存 常量内存用于保存在核函数执行期间不会发生变
  • 华为OD机试真题 Python 实现【股票最大收益】

    题目 假设知道某段连续时间内股票价格 计算通过买入卖出可获得的最大收益 输入一个大小为 n的数组price p1 p2 p3 pn pi是第i天的股票价格 pi的格式的格式为股票价格 非负整型 加上货币单位Y或者S 其中Y代表人民币 S代表
  • 模块化( export、import)

    模块化 模块化是指将一个大的程序文件 拆分成许多小的文件 然后将小文件组合起来 模块化的好处 模块化的优势有以下几点 1 防止命名冲突 2 代码复用 3 高维护性 模块化规范产品 ES6 之前的模块化规范有 1 CommonJS gt No
  • Windodws 常用dos命令

    r目录 1 打开黑窗口 1 1 正常打开黑窗口 2 2 管理员方式打开黑窗口 2 黑窗口常用命令总结 2 1 打开工具 2 2 操作计算机 2 3 查看计算机信息 补充 1 打开黑窗口 1 1 正常打开黑窗口 Win R 输入 cmd 可以
  • alter table add column多个字段_SQL对表中字段的操作 alter

    ALTER TABLE 语句用于在现有表中添加 删除或修改列 注意不同的数据库的语句有所不一样 增加和删除都基本一致 进行修改表中字段的时候注意 本文主要介绍 sqlserver mysql oracle sqlserver 修改字段数据类
  • 握手信号输入一倍,输出两倍[verilog]

    module one to two parameter WORD LEN 33 input clk input arst input WORD LEN 1 0 i din input i din valid output o din rea
  • Java--多线程(2)---yield

    yield yield 在Java的多线程中指的是礼让的意思 具体作用就是 停止当前正在执行的线程对象 去执行其他的线程 yield作用与相同优先级之间的线程 目的是让相同优先级的线程可以交替进行 yield有时也可能不会执行 举例 pub
  • Android NDK:在Android Studio下的基本开发步骤和基础知识点总结

    javah d jni新建文件名 classpath sdk路径 class 路径 class文件名 包括包名 d 输出目录 jni是gradle默认的路径 classpath jar的路径 有时碰到的找不到Activity的类的错误可能是
  • [算法整理]可能是最全的无监督/自监督单目深度估计方法汇总 - Part2:双目图像篇

    算法整理 可能是最全的自监督 无监督单目深度估计方法汇总 Part2 双目图像篇 背景 借着最近开题写开题报告的机会 比较细致地整理了一下之前看过的自监督单目深度估计相关的论文 合计了一下 感觉写篇综述有点太耗时耗力 干脆就在这里分享出来好
  • python 找出list列表中相同元素(指定元素)的所有索引

    有时需要获取列表中某一元素的所有索引 而获取列表元素索引的函数index只能返回第一个满足条件的元素的索引 此时我们可以通过两种方式获取其所有索引 1 将list转为array 对于array对象 可以使用如下方式获取某个元素的所有索引 n
  • background-position的使用方法

    这是在学习了阮一峰先生的博客后写的一篇解释笔记 附上原链接 CSS中背景图片的定位方法 CSS中的背景图片定位方法有三种 1 关键字定位 background position top left 2 像素定位 background posi
  • Unity Debug的简单封装

    对Unity Debug的简单封装 使用前提 Project Settings Player Other Settings Script Define Symbols添加 EnableLog 点击Apply 测试代码 using MTool
  • visual studio:C#工程项目生成项目时,默认将资源文件复制到输出目录

    参考 vs生成项目时 默认将资源文件复制到输出目录 总结 使用情况 通常是需要外部dll 不直接拷贝到运行目录 而是放到工程项目下 两种方式 1 生成事件里编写命令行 2 添加dll到项目目录 设置文件属性 复制到输出目录
  • 分布式搜索引擎Elasticsearch基础入门学习

    Elasticsearch介绍 Elasticsearh 是 elastic co 公司开发的分布式搜索引擎 Elasticsearch 简称ES 是一个开源的分布式 高度可扩展的全文搜索和分析引擎 它能够快速 近乎实时的存储 搜索和分析大
  • uni-app使用uView

    uni app使用uView 三配置前提 先安装uview 1 使用HBuilder创建uni app项目 这步过后就可以使用npm安装第三方组件了 cmd进入当前根目录执行 npm init y 执行后项目中会生成package json
  • 游戏开发unity插件Magica Cloth:学习贴汇总(持续更新)

    插件说明 高效的布料系统 支持jobs 开源 官方下载地址 https assetstore unity com packages tools physics magica cloth 160144 unity插件初步配置 BoneSpri
  • linux下载出现:Failed to connect to raw.githubusercontent.com port 443: Connection refused

    linux下载出现 Failed to connect to raw githubusercontent com port 443 Connection refused 原因 github域名被污染 解决方式 打开网站 https www
  • 【patchwork++】——PCA主成分分析法

    降维算法 gt 保留最大有用值信息 gt 换坐标轴 找坐标系 首先 去中心化 把坐标原点放在数据中心 然后 找坐标系 找到方差最大方向 数据线性变换 拉伸 旋转 注意 离群点对PCA影响较大 参考视频 用最直观的方式告诉你 什么是主成分分析
  • 一串首尾相连的珠子(m个),有n种颜色(n<=10) 设计一种算法去除其中一段,要求包含所有的N种颜色

    继续上代码 include