当前位置: 首页 > news >正文

1558. 得到目标数组的最少函数调用次数

1558. 得到目标数组的最少函数调用次数

  • 原题链接:
  • 完成情况:
  • 解题思路:
  • 参考代码:

原题链接:

1558. 得到目标数组的最少函数调用次数

https://leetcode.cn/problems/minimum-numbers-of-function-calls-to-make-target-array/description/

完成情况:

在这里插入图片描述

解题思路:

public static void main(String[] args) {//给你一个与 nums 大小相同且初始值全为 0 的数组 arr//要么一个加1【+1】,要么全乘2【*2】//初始全零,返回的时候,输出次数//然后题目会给你目标结果//采用结果倒推法,会更好一点。
}/***全程就两件事需要你做,遇到奇数则-1,,,,最后一圈结束则全部数/2* 一直循环,直到全部的数都变成0为止。** @param nums* @return*/

参考代码:

package LeetCode中等题02;public class __1558得到目标数组的最少函数调用次数 {/**** @param args*/public static void main(String[] args) {//给你一个与 nums 大小相同且初始值全为 0 的数组 arr//要么一个加1【+1】,要么全乘2【*2】//初始全零,返回的时候,输出次数//然后题目会给你目标结果//采用结果倒推法,会更好一点。}/***全程就两件事需要你做,遇到奇数则-1,,,,最后一圈结束则全部数/2* 一直循环,直到全部的数都变成0为止。** @param nums* @return*/public int minOperations(int[] nums) {int res = 0,maxN = 0;for (int num : nums){maxN = Math.max(maxN,num);while (num != 0) {if ((num & 1) != 0){res++;}num >>= 1;}}//加法和乘法分离的计算if (maxN != 0){while (maxN != 0){res++;maxN >>= 1;}res--;      //-1时,进行的右移为0,认为的右移二进制}return res;}
}
http://www.lryc.cn/news/180534.html

相关文章:

  • 子域名扫描, 后台扫描
  • 毛玻璃带有光影效果的卡片
  • 【Java】面向过程和面向对象思想||对象和类
  • 孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!
  • 软考——软件设计师中级2023年11月备考(1.计算机组成原理)
  • 前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(四)
  • 【前端】HTML5 Audio 预加载 按照队列顺序播放音频, 可以陆续往队列中加内容
  • 【单片机】13-实时时钟DS1302
  • springboot和vue:十三、VueX简介与安装与推荐视频+前端数据模拟MockJS
  • [React] Zustand状态管理库
  • 【ChatGPT】ChatGPT发展历史
  • 分布式文件存储系统Minio实战
  • 【MySQL】MySQL 官方安装包形式
  • 使用sqlmap获取数据步骤
  • [论文笔记]GLM
  • 漏洞扫描环境:win10系统用VMware Workstation打开虚拟机若干问题
  • OpenCV实现模板匹配和霍夫线检测,霍夫圆检测
  • 消息队列实现进程之间通信方式
  • 用简单例子讲清楚webgl模板测试
  • 区块链(8):p2p去中心化之websoket服务端实现业务逻辑
  • composer安装与设置
  • unordered_map/unordered_set的学习[unordered系列]
  • C++位图—布隆过滤器
  • SQL SELECT 语句进阶
  • Mac程序坞美化工具 uBar
  • 【数据结构】排序之插入排序和选择排序
  • 6.html表单
  • 【python学习第11节:numpy】
  • Eclipse 主网即将上线迎空投预期,Zepoch 节点或成受益者?
  • JavaSE | 初识Java(四) | 输入输出