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

文章目录

  • 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.hqwc.cn/news/21339.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言实现扫雷【经典】

前言   本篇文章要实现的是扫雷游戏&#xff0c;其代码实现与上一篇的三子棋游戏类同&#xff0c;都是在棋盘的基础上&#xff0c;与电脑进行对抗&#xff0c;不同的是&#xff0c;扫雷游戏一开始电脑就已经随机布置好了所有“雷”。 请戳 --->三子棋 扫雷游戏 1. 扫雷游…

Kafka入门,offset的默认维护位置(二十一)

offset的默认维护位置 0.9版本之前&#xff1a;consumer默认将offset保持在zookeeper中 从0.9版本开始&#xff0c;consumer默认将offset保存在kafka一个内置的topic中&#xff0c;该topic为__consumer_offsets __consumer_offsets 主题里面采用key和value方式存储数据&#x…

SQL 删除重复的电子邮箱

196 删除重复的电子邮箱 SQL架构 表: Person -------------------- | Column Name | Type | -------------------- | id | int | | email | varchar | -------------------- id是该表的主键列。 该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。 删除 所有重复的电…

Spring Boot 中的 SQL 注入攻击是什么,原理,如何预防

Spring Boot 中的 SQL 注入攻击是什么&#xff0c;原理&#xff0c;如何预防 随着互联网的发展&#xff0c;Web 应用程序的数量不断增加&#xff0c;而 SQL 注入攻击也成为了常见的网络安全问题之一。SQL 注入攻击是通过在 Web 应用程序中注入恶意的 SQL 代码&#xff0c;从而…

【Android知识笔记】系统进程(一)

Android 系统进程有哪些 先来一个整体结构图从宏观上理解Android系统的进程结构布局: 这里我们简单总结一下: 系统的第一个进程其实是0号进程(又叫swapper进程/Idle进程) 0号进程fork出了1号进程(init进程)和2号进程(kthreadd进程) 1号进程是所有普通用户进程的祖先,2号进程…

03-2_Qt 5.9 C++开发指南_Qt全局定义、容器类、容器类的迭代器、Qt类库的模块

本篇简要介绍Qt全局定义中的数据类型、函数、宏定义&#xff1b;容器类中&#xff1a;顺序容器类、关联容器类&#xff1b;容器类的迭代器&#xff1b;Qt类库的模块。 文章目录 1.Qt全局定义1.1 数据类型定义1.2 函数1.3 宏定义1.3.1 QT_VERSION1.3.2 QT_VERSION_CHECK1.3.3 Q…

ModaHub魔搭社区:AI原生云向量数据库MIlvus Cloud实现 HNSW

实现 HNSW HNSW 并不简单,因此我们只在此处进行最简单的实现。像之前一样,我们首先创建一组(128 维)向量的数据集: >>> import numpy as np >>> dataset = np.random.normal(size=(1000, 128)) 第一步是构建 HNSW 索引。为此,我们需要将每个向量添加…

理清ROS通信的一些细节

目标&#xff1a;掌握ros的python编程 基本教程&#xff1a;https://www.bilibili.com/video/BV1sU4y1z7mw/?spm_id_from333.788&vd_source32148098d54c83926572ec0bab6a3b1d terminator 快捷键需要自己去重新启用 ctrlshifte 横向分屏 ctrlshifto 纵向分屏 ctrlshiftw …

C基础day7(2023.7.7)

一、Xmind整理&#xff1a; 二、课上练习&#xff1a; 练习1&#xff1a;二维数组地址 int main(int argc, const char *argv[]) {int arr[2][3]{11,22,33,44,55,66};for(int i0;i<2;i){for(int j0;j<3;j){printf("arr[%d][%d]%p\n",i,j,&arr[i][j]);}}…

七大排序算法——归并排序,通俗易懂的思路讲解与图解(完整Java代码)

文章目录 一、排序的概念排序的概念排序的稳定性七大排序算法 二、归并排序核心思想代码实现 三、性能分析四、七大排序算法性能对比 一、排序的概念 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0…

NTLM协议

0x01 LM Hash加密算法 LM Hash本质是一个DES加密&#xff0c;从Windows Vista和Windows Server 2008开始就禁用了LM Hash。LM Hash明文密码被限定在14位以内&#xff0c;密码超过14位则会停止使用LM Hash。下面介绍一下LM Hash的加密流程&#xff0c;以Pss1234为例&#xff1a…

FFMPEG 编译流程(极客版)

前言 依葫芦画瓢 全程30分钟从零完成ffmpeg编译&#xff0c;主打的就是一个极客 编译环境 OS 要求&#xff1a;Ubuntu 20.04 LTS VMware新建虚拟机 NDK 要求&#xff1a;android-ndk-r20b FFmpeg 功能模块&#xff1a; libavformat:多媒体文件或协议的封装和解封装库&a…