每日OJ题_牛客_数组变换_贪心+位运算_C++_Java

目录

牛客_数组变换_贪心+位运算

题目解析

C++代码1暴力

C++代码2位运算

Java代码位运算


牛客_数组变换_贪心+位运算

数组变换__牛客网 (nowcoder.com)

描述:
        牛牛有一个数组,里面的数可能不相等,现在他想把数组变为:所有的数都相等。问是否可行。牛牛可以进行的操作是:将数组中的任意一个数改为这个数的两倍。

这个操作的使用次数不限,也可以不使用,并且可以对同一个位置使用多次。


题目解析

如果能够变换成功,那么最大的数除以剩下的数的商,一定都是 2 的 n 次方。

C++代码1暴力

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n = 0, aMax = 0;
    cin >> n;
    vector<int> a(n);
    for(int i = 0 ; i < n; ++i)
    {
        cin >> a[i];
        aMax = max(aMax, a[i]);
    }
    for(int i = 0 ; i < n; ++i)
    {
        while(a[i] < aMax)
        {
            a[i] *= 2;
        }
        if(a[i] > aMax)
        {
            cout << "NO" << endl;
            return 0;
        }
    }
    cout << "YES" << endl;
    return 0;
}

C++代码2位运算

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n = 0, aMax = 0;
    cin >> n;
    vector<int> a(n);
    for(int i = 0; i < n; ++i)
    {
        cin >> a[i];
        aMax = max(aMax, a[i]);
    }
    for(int i = 0 ; i < n; ++i)
    {
        // while(a[i] < aMax)
        // {
        //     a[i] *= 2;
        // }
        // if(a[i] > aMax)
        if((aMax % a[i]) || a[i] != 1 && a[i] < aMax && a[i] & (a[i] - 1) != 0)
        {
            cout << "NO" << endl;
            return 0;
        }
    }
    cout << "YES" << endl;
    return 0;
}

Java代码位运算

import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main
{
    public static void main(String[] args) 
    {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] arr = new int[n];
        int b = 0;
        for(int i = 0; i < n; i++)
        {
            arr[i] = in.nextInt();
            b = Math.max(b, arr[i]);
        }
        boolean flag = true;
        for(int i = 0; i < n; i++)
        {
            if(b % arr[i] != 0)
            {
                flag = false;
                break;
            }
            int x = b / arr[i];
            if((x - (x & -x)) != 0)
            {
                flag = false;
                break;
            }
        }

        if(flag) 
            System.out.println("YES");
        else 
            System.out.println("NO");
    }
}

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

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

相关文章

MySQL数据库和表的基本操作

目录 一、数据库的基础知识 背景知识 数据库的基本操作 二、数据类型 字符串类型 数值类型 日期类型 三、表的基本操作 创建表 查看表结构 查看所有表 删除表 一、数据库的基础知识 背景知识 MySQL是一个客户端服务器结构的程序 主动发送数据的这一方&#xff0c;…

【Java】集合补充

常见基础集合汇总 数据结构&#xff1a;栈 数据结构分为&#xff1a; &#xff08;1&#xff09;逻辑结构 &#xff1a;--》思想上的结构--》卧室&#xff0c;厨房&#xff0c;卫生间 ---》线性表&#xff08;数组&#xff0c;链表&#xff09;&#xff0c;图&#xff0c;树&…

近期股市热潮,现有架构模块下金融交易系统如何应对“冲击”?优化思路如下

近期股市热情高涨&#xff0c;激增的交易量挑战的不止是券商&#xff0c;还有交易系统的基础架构是否稳固。9月底&#xff0c;股市牛抬头&#xff0c;瞬时的高并发量一把“撞”崩多家券商的交易应用系统&#xff0c;导致交易停滞。 在这场资本盛宴背后&#xff0c;稳定、高效、…

一家异业联盟平台 两年百亿销售额怎么做到的?

近年来&#xff0c;互联网领域涌现了一颗耀眼的新星——“上海我店”&#xff0c;该平台短时间内交易额突破百亿大关&#xff0c;且用户数量在上月实现了近百万的增长。这一迅猛的扩张速度&#xff0c;自然吸引了众多商家的目光。不过&#xff0c;随着其影响力的提升&#xff0…

[自动化测试:Selenium]:环境部署和Webdriver的使用

文章目录 修改安装源打开Python Packages。点击梅花按钮。在弹出的对话框中&#xff0c;填入Name&#xff08;随便填&#xff09;&#xff0c;Repository URL&#xff0c;选择下列的源&#xff0c;一般先选择清华源按OK确认。配置完成 安装seleniumFile→Settings→Project&…

为你的网站增加点灵性:随系统变色

&#x1f33b; 前言 网站切换主题色已经是非常常见的功能了&#xff0c;提供浅色和暗色两种色调可以满足用户的使用习惯&#xff0c;帮助这些用户获得更好的访问体验。但是只能用户手动切换主题。 那如果用户已经将系统切换到了深色模式&#xff0c;当他们打开我们网站的时候…

虚拟机网络设置为桥接模式

1、打开VMware Workstation Pro&#xff0c;点击“虚拟机—设置”&#xff0c;进入虚拟机设置页面 2、点击“网络适配器”&#xff0c;网络连接选择桥接模式 3、点击“编辑—虚拟网络编辑器”&#xff0c;进入虚拟网络编辑器页面 4、选择桥接模式&#xff0c;并选择要桥接到的…

有趣的css - 跷跷板加载动画

大家好&#xff0c;我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;今天分享的是使用 css 模拟一个跷跷板效果的加载动画效果。 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面…

YOLO目标检测

文章目录 一、含义二、与传统检测对比1.one-stage的优缺点2.two-stage的优缺点 三、MAP指标1.基本概念2.计算方法3.指标意义 一、含义 YOLO&#xff08;You Only Look Once&#xff09;是一种基于深度学习的目标检测算法&#xff0c;由Joseph Redmon等人于2016年提出。它的核心…

基于STM32的多功能MP3播放器

基于STM32的多功能MP3播放器 基于STM32的多功能MP3播放器一、项目背景与意义二、系统设计与实现2.1 硬件设计2.2 软件设计2.3 系统调试 三、功能实现与展望四、结论五、附录 基于STM32的多功能MP3播放器 在数字化时代&#xff0c;多功能播放器已成为我们生活中不可或缺的一部分…

Aurora 4.6.2 | 第三方谷歌商店,无需谷歌框架

Aurora Store是谷歌Play Store的一个非官方FOSS客户端&#xff0c;通常称为‘极光商店’&#xff0c;设计优雅。Aurora Store不仅可以下载、更新和搜索Play Store等应用程序&#xff0c;还为用户提供了新功能。应用提供范围广泛的游戏和应用程序&#xff0c;包括音乐流媒体、购…

一起搭WPF架构之LiveCharts.Wpf的简单了解与安装

一起搭WPF架构之LiveCharts.Wpf的简单了解与安装 前言LiveCharts.Wpf介绍LiveCharts.Wpf的安装总结 前言 根据项目需求&#xff0c;我单独留了一个界面用于进行数据分析。数据分析的内容考虑是采用图表的形式将SQLite数据库中存储的数据进行绘制成图&#xff0c;以便数据分析。…

【ARM】ARM架构参考手册_Part B 内存和系统架构(5)

目录 5.1关于缓存和写缓冲区 5.2 Cache 组织 5.2.1 集联性&#xff08;Set-associativity&#xff09; 5.2.2 缓存大小 5.3 缓存类型 5.3.1 统一缓存或分离缓存 5.3.2 写通过&#xff08;Write-through&#xff09;或写回&#xff08;Write-back&#xff09;缓存 5.3.3…

09_实现reactive之代理 Set 和 Map

目录 创建代理建立响应式联系避免污染原始数据处理 forEachfor...ofvalues 与 keys 方法 Set 和 Map 都有特定的属性和方法来操作自身&#xff0c;因此需要单独处理。 创建代理 我们来看一段案例代码&#xff0c;体验一下和它们的独特之处&#xff0c;如下&#xff1a; const…

柯桥俄语学习,旅游俄语中的支付和交际常用语句

支付用语 --Здравствуйте, счёт, пожалуйста. --Как вы будете платить? --Вы принимаете карты? --Да, пожалуйста, покажите QR - код. --Нам нужно ещё одно б…

云原生技术:nacos进化到servicemash

面试的时候跟面试官吹嘘说&#xff0c;现在主流的微服务架构&#xff0c;都已经用得熟熟的了&#xff0c;自己技术很不错。进了公司却被分到了API资产管理平台&#xff0c;要做一个类似于网关的东西。经过调研才发现&#xff0c;自己用的微服务架构已经过时了&#xff0c;什么&…

基于yolov10的驾驶员抽烟打电话安全带检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv10的驾驶员抽烟、打电话、安全带检测系统是一种先进的驾驶行为监测系统。该系统利用YOLOv10算法的高效性和准确性&#xff0c;实现对驾驶员行为的实时检测与识别。 YOLOv10是一种最新的实时物体检测模型&#xff0c;其通过深度学习技术&#xff0c;如卷…

FastCFS高性能分布式文件系统集群搭建

FastCFS – 可以跑数据库的高性能通用分布式文件系统 简介 FastCFS 是一款强一致性、高性能、高可用、支持百亿级海量文件的通用分布式文件系统&#xff0c;可以作为MySQL、PostgreSQL、Oracle等数据库&#xff0c;k8s、KVM、FTP、SMB和NFS等系统的后端存储。 FastCFS 主要特…

L0G1000 Linux 基础知识

1.创建虚拟机 构建完成后 按需启动&#xff0c;本次启动30分钟&#xff0c;启动完成后出现下图界面。 点击进入开发机&#xff0c;出现初始界面。 2. 配置SSH密钥进行SSH远程连接 2.1打开Windows PowerShell,利用 ssh-keygen -t rsa 输入命令后一路回车就可以了&#xff0c;…

WXML-模板语法-条件渲染及列表渲染

条件渲染&#xff1a; wx&#xff1a;if: 结合block使用wx:if&#xff1a; hidden&#xff1a; wx:if和hidden对比&#xff1a; 列表渲染&#xff1a; wx&#xff1a;for&#xff1a; 1、在.js文件中创建一个数组&#xff1a; 2、创建一个view使用wx&#xff1a;for组件&…