Leetcode1217. 玩筹码

news2024/11/25 16:23:38

Every day a Leetcode

题目来源:

解法1:贪心

首先很容易得出:

  1. 从某一个偶(奇)数位置改变到另一个偶(奇)数位置,此时的最小开销为 0;
  2. 从某一个偶(奇)数位置改变到另一个奇(偶)数位置,此时的最小开销为 1。

那么我们可以把初始每一个偶数位置的「筹码」看作一个整体,每一个奇数位置的「筹码」看作一个整体。因为我们的目标是最后将全部的「筹码」移动到同一个位置,那么最后的位置只有两种情况:

  1. 移动到某一个偶数位置,此时的开销最小值就是初始奇数位置「筹码」的数量。
  2. 移动到某一个奇数位置,此时的开销最小值就是初始偶数位置「筹码」的数量

代码:

/*
 * @lc app=leetcode.cn id=1217 lang=cpp
 *
 * [1217] 玩筹码
 */

// @lc code=start
class Solution
{
public:
    int minCostToMoveChips(vector<int> &position)
    {
        int odd = 0, even = 0;
        for (int &index : position)
        {
            if (index % 2)
                odd++;
            else
                even++;
        }
        return min(odd, even);
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中n为数组position的长度,只对数组进行了一次遍历。

空间复杂度:O(1)。

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

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

相关文章

剑指 Offer 57 - II: 和为s的连续正数序列

这里从0开始先然是不对的&#xff01;滑动窗口思想很好用&#xff0c;相等了必定移动左边&#xff01;让他变小&#xff01;这都想不到&#xff01; 首先看到返回值和题给条件明确这是一个滑动窗口任务/可变数组 &#xff0c;所以要使用List&#xff0c;然后其中元素又是数组&a…

新建vue3项目并启动访问(mac)

mac 安装、配置vue开发环境&新建vue项目并启动访问 一、 安装hbuilderx二、 安装node.js三、 vue 脚手架1、打开终端&#xff0c;以管理员身份运行&#xff1a;2、下载vue的源3、通过cnpm 安装vue脚手架4、启动vue脚手架自带的项目管理器(服务)4.1、创建空的vue项目4.2、安…

WeNet的Runtime编译与应用

一、下载visual studio 下载&#xff1a;百度输入 visual studio 官网&#xff0c;下载 visual studio并安装&#xff0c;安装完要配置环境变量&#xff0c;即把cmake路径配置进去 环境配置&#xff1a;将C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\ID…

【Python爬虫与数据分析】爬虫Json数据解析

目录 一、Json文件数据解析 二、Json数据包解析获取图片资源 三、Json数据包解析获取视频资源 一、Json文件数据解析 json字符串&#xff1a;通常类似python数据类型中的列表和字典的结合&#xff0c;也可能是单独的列表或者字典格式&#xff0c;通常可以通过json模块的函数…

蓝桥杯专题-真题版含答案-【连号区间数】【剪格子】【买不到的数目】【翻硬币】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

java获取文件夹里文件最近修改时间

概述 本人项目需要获取文件夹里面文件最近的修改时间&#xff0c;函数lastModified直接获取文件夹修改时间&#xff0c;达不到效果。 因此本人通过遍历文件夹文件&#xff0c;来一一比较获取最近的文件里面文件(夹)修改时间。原理简单&#xff0c;下面是所有的代码&#xff0c…

MySQL中这些关键字的用法,佬们get到了嘛

前言&#xff1a; 最近粉丝问了一个问题&#xff0c;是关于Limit分页的用法&#xff0c;他没有理解清楚&#xff0c;因此本篇文章主要讲解MySQL的关键字的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出&#xff0c…

MOdaHub魔搭社区:AI大模型应用落地的三大阻碍

目录 一是基于通用大模型研发行业大模型的难度。 二是私有数据的安全隐患。 三是落地成本的可控性。 To B 的探索并非现在才开始。自 ChatGPT 开放 API 插件以来&#xff0c;国内的多家云厂商在推出通用大模型时&#xff0c;也往往同步其对行业赋能的意愿。但大模型 To B 探…

吸烟(抽烟)检测和识别1:吸烟(抽烟)数据集说明(含下载链接)

吸烟(抽烟)检测和识别1&#xff1a;吸烟(抽烟)数据集说明(含下载链接) 目录 吸烟(抽烟)检测和识别1&#xff1a;吸烟(抽烟)数据集说明(含下载链接) 1. 前言 2. 吸烟(抽烟)类别说明 3. 吸烟(抽烟)分类数据集 &#xff08;1&#xff09;smoking-dataset &#xff08;2&…

内幕交易最高判终身监禁:韩国首部独立「加密法案」全文来了

2023年6月30日&#xff0c;韩国国会政务委员会通过了该国首部针对虚拟资产的立法——《虚拟资产用户保护法&#xff08;가상자산 이용자 보호 등에 관한 법률안&#xff09;》&#xff0c;目的是保护虚拟资产使用者及限制不公平交易&#xff0c;将在颁布一年后开始生效&#xf…

如何用 PowerPoint 制作滚动字幕

想知道如何使用 PowerPoint 制作滚动字幕吗&#xff1f;让您的演示更生动有趣&#xff01;请紧跟以下教程&#xff0c;学习这个令人赞叹的技巧&#xff01; 是不是你觉得自己制作的PPT过于呆板和无聊&#xff0c;而别人的PPT却充满了高级和趣味&#xff1f;原因在于你的PPT缺乏…

信创信创,有信难创

本土化产品&#xff0c;近年来备受追捧。比如馒头&#xff0c;成了更适合中国宝宝体质的欧包&#xff0c;有的创意馒头甚至可以卖出二十多元的“高价”&#xff1b;酱香饼&#xff0c;更适合中国宝宝体质的披萨&#xff1b;中药汤&#xff0c;更适合中国宝宝体质的咖啡…… 这样…

青岛大学_王卓老师【数据结构与算法】Week04_07_顺序表和链表的比较_学习笔记

本文是个人学习笔记&#xff0c;素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享&#xff0c;另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–…

uniapp实现腾讯地图定位,生成点,多点连线,清空点线,卫星地图等功能

功能&#xff1a; 1.地图上标点&#xff0c;点有内容&#xff0c;点击点后可以查看点的信息&#xff0c;详情 2.点击地图生成点&#xff0c;点击多个点后可以实现点连线功能 3.点击按钮后&#xff0c;可以把生成的点清空 4.卫星地图和默认地图切换功能 1.完整代码字段讲解 1.…

集成免费Chatgpt的WeTab安装与使用详解

集成免费Chatgpt的WeTab安装与使用详解 一、WeTab简介二、Chatgpt简介三、WeTab安装3.1 Edge浏览器在线安装教程3.2 Chrome浏览器在线安装教程 四、WeTab和ChatGPT的简单使用4.1 WeTab简单使用4.2 集成ChatGPT的简单使用 一、WeTab简介 WeTab是一款集成了多种实用工具的在线工…

第47步 深度学习图像识别:SqueezeNet建模(Pytorch)

基于WIN10的64位系统演示 一、写在前面 &#xff08;1&#xff09;SqueezeNet SqueezeNet是一种轻量级的深度神经网络架构&#xff0c;由Iandola等人在2016年提出。这种模型的最大特点是参数量极少&#xff0c;仅有510千个参数&#xff0c;而且模型大小只有5MB&#xff0c;比…

Simulink仿真模块 - Multiport Switch

Multiport Switch:基于控制信号选择输出信号 在仿真库中的位置为:Simulink / Signal Routing HDL Coder / Signal Routing 模型为: 双击模型打开参数设置界面为: 说明 Multiport Switch 模块用于确定将多个模块输入中的哪一个传递给输出。此模块根据第一个输入的值…

Nginx 安装 headers-more-nginx-module 扩展,隐藏www服务信息

通过Ubuntu APT安装的Nginx默认是没有扩展的&#xff0c;所以需要手动安装才可以。本文主要分享如何在 APT 安装 Nginx 的环境中安装 headers-more-nginx-module 扩展&#xff0c;隐藏www服务信息。 1、起因 今天收到一个高危漏洞的警告&#xff0c;该漏洞大意为&#xff1a;…

Fortran 中的函数与子程序

Fortran 中的函数与子程序 简介 Fortran 是不区分大小写的函数&#xff08;Function&#xff09;&#xff1a; 函数是一段具有输入和输出的代码块&#xff0c;它接受一些输入参数&#xff0c;经过一系列计算后返回一个结果。 在Fortran中&#xff0c;函数的定义以关键字"…

【深度学习】1. yolov5 推理速度和batchsize的增长关系,推理并行处理多张图片,显存如何手动释放

文章目录 前言1. batchsize和推理速度的关系2. 修改batchsize尝试2.1 benifit&#xff08;好处&#xff09;2.1 编码batchsize下的推理2.2 发现问题2.2.1 推理结束后&#xff0c;占用显存不释放。 2.3 其它有用的参数设置 前言 yolov5的detect.py 是默认batchsize1的&#xff…