【Java】一只小菜坤的编程题之旅【2】

news2024/12/24 8:11:55

文章目录

  • 1丶丑数
  • 2、各位相加
  • 3丶搜索插入位置
  • 4丶第一个错误的版本


1丶丑数

在这里插入图片描述

因为丑数只能被2,3,5整除,所以让n依次去除2,3,5,如果最后是n为1,就说明是丑数。

class Solution {
    public boolean isUgly(int n) {
        if(n <= 0){
            return false;
        }
        while(n % 2 == 0){
            n /= 2;
        }
        while(n % 3 == 0){
            n /= 3;
        }
        while(n % 5 == 0){
            n /= 5;
        }
        return n == 1;
    }
}

2、各位相加

在这里插入图片描述

class Solution {
    public int addDigits(int num) {
        if(num<10)
        return num;
        while(num>=10){
             int sum=0;
            while (num > 0) {
                sum += num % 10;
                num /= 10;
            }
            num=sum;
        }
    return num;

    }
}

3丶搜索插入位置

在这里插入图片描述
本小菜坤的答案:

class Solution {
    public int searchInsert(int[] nums, int target) {
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == target) {
                return i;
            }
        }
            int place=0;
            for (int j = 0;  j< nums.length-1; j++) {
                if (nums[j] <= target && nums[j + 1] >= target) {
                return j+1;
                }
            }
            if(nums[nums.length-1]<target){    //判断最后一个元素
                return nums.length;
            }
            return 0;
            
    }

}

4丶第一个错误的版本

在这里插入图片描述
在这里插入图片描述
看着题目挺复杂,其实思想就是二分查找的思想。

/* The isBadVersion API is defined in the parent class VersionControl.
      boolean isBadVersion(int version); */

public class Solution extends VersionControl {
    public int firstBadVersion(int n) {
        int left=1;
        int right=n;
        while(left<right){
            int mid=left+(right-left)/2;  //中间值没有设置为(left+right)/2的原因是,当left和right都是非常大的整数时防止运算溢出
            if(isBadVersion(mid)){
                right=mid;
            }
            else{
                left=mid+1;
            }
        }
        return left;

        
    }
}

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

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

相关文章

MySQL表的导入导出

目录 导出数据 导出数据语法 导入数据 导入数据语法 有时需要将MySQL中的数据导出到外部存储文件中 MySQL中的数据可以被导出成 sql文本文件xml文件html文件 同样的 该类文件也可以导入到MySQL数据库中 导出数据 导出数据语法 select columnlist from table where co…

typescript环境搭建

安装vscode 安装tsc npm install -g typescript --registryhttps://registry.npm.taobao.org查看是否安装成功 tsc --version管理员身份启动powershell bash set-ExecutionPolicy RemoteSigned

部署 Zabbix 集中监控系统

zabbix 概述 Zabbix 是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源监控套件 服务端端口&#xff1a;10051 客户端端口&#xff1a;10050 Zabbix 主要功能 主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细报表图表绘制 Zab…

电压放大器如何驱动电容性负载的

电容性负载是指由电容器或一组电容器组成的负载。在电路中&#xff0c;当电容性负载与电压放大器相连时&#xff0c;电容器下极板的电位将随着输入信号的变化而变化&#xff0c;从而改变输出电压。电压放大器是一种常见的电路&#xff0c;它能够将输入电压信号放大到较大的幅度…

YOLOv5解析 | 第三篇:yolov5s.yaml文件详解

YOLOv5配置了4种不同大小的网络模型,分别是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中 YOLOv5s 是网络深度和宽度最小但检测速度最快的模型,其他3种模型都是在YOLOv5s的基础上不断加深、加宽网络使得网络规模扩大,在增强模型检测性能的同时增加了计算资源和速度消耗。出于对…

k8s kubeadmin方式安装部署

1、节点至少2C2G. 2、首先安装docker&#xff0c; sudo yum install -y docker-ce docker-ce-cli containerd.io#以下是在安装k8s使用的docker版本。注意保持一致 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6sudo mkdir -p /etc/docker su…

基于iTOP-RK3568开发板进行讲解,本次更新第十一期主要讲解pinctrl子系统共计16讲

1.课cheng规划 2.pinctrl子系统课程引入 3.前置理论-pinctrl_desc结构体.mp4 4.实践-讲解pinctrl_desc结构体实际应用 5.理论&#xff1a;pinctrl子系统三个函数操作集 6.进一步了解rockchip_pinctrl结构体 7.实践&#xff1a;pinctrl子系统三个函数操作集 8.重点&#xff1a;d…

UE4 解决在同一场景播放多个本地视频卡顿的问题(4.27+)

在使用4.27版本开发项目时&#xff0c;需要在同一场景播放多个本地视频&#xff0c;用的是ue自带的播放器&#xff0c;一旦播放的视频多了就会导致卡顿甚至播放不了&#xff0c;查了一下官方文档&#xff0c;虚幻引擎4.27中内置了Bink Media插件&#xff0c;这个插件可以解决这…

Spring MVC 系列1 -- 初识Spring MVC

目录 1. 什么是 Spring MVC&#xff1f; 2. MVC定义 3. 创建SpringMVC项目 ​4. Spring MVC要学习哪些? 1. 什么是 Spring MVC&#xff1f; 官⽅对于 Spring MVC 的描述是这样的&#xff1a; 翻译成中文 从上述定义我们可以得出两个关键信息&#xff1a; 1. Spring MVC 是…

骨传导蓝牙耳机怎么样?盘点当下最流行的几款骨传导耳机

作为耳机资深用户&#xff0c;特别推荐大家使用骨传导耳机&#xff0c;因为骨传导耳机完全不需要入耳&#xff0c;在一定程度上&#xff0c;减少了外耳道和耳膜受损以此保护听力&#xff0c;而且佩戴骨传导耳机时&#xff0c;周围的声音仍然可以听到&#xff0c;避免了因听不到…

伦敦银最新行情分析独到技巧

伦敦银的行情走势时时刻刻都处于变化之中&#xff0c;如果投资者对行情分析得好&#xff0c;无论是市场上涨还是下跌都可以获利&#xff0c;无论做多做空都可以赚钱。如果投资者想更好地发挥伦敦银双向交易的优势&#xff0c;就要对后市的运行的方向有一个基本的判断。 在分析伦…

​​​​layui 实现左侧菜单栏及子类(二)​​

目录 ​ 一&#xff0c;分析左侧菜单栏及子类的数据表 ​ 二&#xff0c;实现左侧菜单栏及子类的具体步骤 2.1实体类&#xff08;与数据库中的字段对应一一&#xff01;&#xff01;&#xff01;&#xff09; 2.2dao方法 dao类代码&#xff1a; TreeOv工具类代码&#xf…

实战:Springboot集成Sentinel实现流量控制、熔断降级、负载保护

文章目录 前言知识积累流量控制负载保护熔断降级官方文档 实战演练部署sentinel-dashboard直接jar包部署docker-compose编排 springboot集成sentinel基础架构搭建sentinel控制台sentinel验证 延伸&#xff1a;系统自适应限流系统规则原理配置页面 写在最后 前言 前面的文章我们…

网络编程6——TCP协议的两大特性:面向字节流 + 异常情况 + 沾包BUG解决方案

文章目录 前言一、TCP协议段与机制TCP协议的特点TCP报头结构TCP协议的机制与特性 二、TCP协议的 面向字节流特性 TCP协议接发数据的流程TCP协议面向字节流导致的BUG 三、TCP协议的 异常情况 总结 前言 本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅…

DHorse v1.2.1 发布,基于k8s的发布平台

综述 DHorse是一个简单易用、以应用为中心的云原生DevOps系统&#xff0c;具有持续集成、持续部署、微服务治理等功能&#xff0c;无需安装依赖Docker、Maven、Node等环境即可发布Java、Vue、React应用&#xff0c;主要特点&#xff1a;部署简单、操作简洁、功能快速。 优化内…

TypeScript 学习笔记(三):函数

一、函数定义 函数是由一连串的子程序&#xff08;语句的集合&#xff09;所组成的&#xff0c;可以被外部程序调用&#xff0c;向函数传递参数之后&#xff0c;函数可以返回一定的值。 通常情况下&#xff0c;TypeScript 代码是自上而下执行的&#xff0c;不过函数体内部的代…

【说明书】TA3001信号隔离器使用说明书

-为了方便需要的时候查阅分享说明书&#xff0c;特将其整理到CSDN。- 一、产品介绍&#xff1a; 给现场的变送器提供隔离电源&#xff0c;接收变送器输出的电流信号&#xff0c;隔离后输出给系统。该产品需要独立供电。 二、主要技术参数 1、供电电压:18~36 VDC 2、消耗电流…

python的字符串操作

1、字符串的驻留机制 字符串 在Python中字符串是基本数据类型&#xff0c;是一个不可变的字符序列什么叫字符串驻留机制呢? 仅保存一份相同且不可变字符串的方法&#xff0c;不同的值被存放在字符串的驻留池中&#xff0c;Python的驻留机制对相同的字符串只保留一份拷贝&…

想知道MLGO是如何工作的吗?看完这篇文章你就懂了

在当今软件开发领域&#xff0c;代码优化对于提高性能和减小代码体积至关重要。在这方面&#xff0c;内联&#xff08;Inlining&#xff09;被认为是一项关键的优化技术之一。而MLGO能够在编译过程中智能地做出内联/非内联的决策&#xff0c;从而提供更高效、更紧凑的代码。本文…

apk应用完整性校验

测试客户端程序是否对自身完整性进行校验。攻击者能够通过反编译的方法在客户端 程序中植入自己的木马&#xff0c;客户端程序如果没有自校验机制的话&#xff0c;攻击者可能会通过篡改客 户端程序窃取手机用户的隐私信息。 用 ApkTool 将目标 APK 文件解包&#xff0c;命令如…