[面试题] 递增序列生成

2023-11-01

给定一个表达式,f(i, j)= 2^i * 5^j,i 和 j 为正整数,使得f(i,j)严格递增,求这个递增序列

思路:和《剑指OFFER》中求丑数的题目很像,序列中第N个数 必然是是前N - 1个数乘以 2 或者乘以5 中大于第N - 1个数的最小值。可以通过分别标记上次乘以2 或乘以5的位置开始寻找被乘数。取最小值,如果 乘以2 的小 则第N个数为该数,同时将2的标记位置右移一位,同理乘以5小时右移5的标记位置,二者相同时同时右移两位。显然,肯定能保证所得数比上一个数大。


public static int[] getSequence(int n) {
	if (n <= 0) {
		return null;
	}
	
	int[] val = new int[n];
	val[0] = 1;
	
	int p2 = 0;
	int p5 = 0;
	for (int i = 1; i < n; i++) {
		int val2 = val[p2] * 2;
		int val5 = val[p5] * 5;
		
		if (val2 < val5) {
			p2++;
			val[i] = val2;
		} else if (val2 > val5){
			p5++;
			val[i] = val5;
		} else {
			val[i] = val2;
			p2++;
			p5++;
		}
	}
	
	return val;
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[面试题] 递增序列生成 的相关文章

随机推荐

  • 智能优化与机器学习结合算法实现数据预测matlab代码清单

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 信号处理 图像
  • pandas中drop()函数用法

    函数定义 DataFrame drop labels None axis 0 index None columns None inplace False 删除单个行 import pandas as pd import numpy as n
  • 硬件第一节 三级管电路工作原理及详解

    文章目录 一 三极管辨认 1 1 辨认bce边 1 2 三极管工作状态 1 2 1放大状态 1 2 2 截止状态 1 2 3 饱和状态 二 三极管使用 2 1 三极管作为开关管 三 三极管选型 3 1 参数 3 2 常用三极管参数整理 一
  • rm刷新了我的认知

    大家好 我是良许 创建 删除和修改文件是用户在 Linux 系统中执行的非常常见操作 大家都知道 在 Linux 系统里使用 rm 命令删除单个文件时 几乎一瞬间就完成了 但是如果文件数量很大 那么删除操作就需要很长时间才能完成 你有没想过
  • mdl格式是什么软件生成的_【原创】slx文件与mdl文件的差别

    slx文件是二进制格式文件 mdl文件是文本格式文件 早期Simulink的模型文件为mdl格式 slx格式在Matlab Simulink R2012a版本中引入 旨在取代以前的mdl格式 由于slx被压缩 通常文件大小会比相同的mdl文
  • 2023跨年烟花(浪漫烟花+自定义音乐+雪花飘飘+自定义文字)

    效果 介绍 可以自定义跨年文字 可自定义更换背景音乐 具有雪花效果 项目文件index html gameCanvas 4 0 js script js index html文件
  • SQL select into from 和 insert into from 语句

    在刷笔试题的时候看到一个表的复制的问题 以前没见过 写一下 用于创建表的备份复件 复制表 两条SQL语句 1 insert into tableName2 column name1 column name2 select column na
  • >> << & 操作符总结

    lt lt 符号 扩大多少倍 Integer num 16 num num lt lt 2 System out println num gt gt gt gt gt num gt gt 符号 缩小多少倍 Integer num 16 nu
  • 沈师 PTA 数据库题目及部分解析 第五章

    判断题 1 当主外健不能保证参照完整性和数据一致性时 还可以选择触发器来实现 T 2 域完整性是保证数据完整性的重要约束之一 T 3 当用户违反了参照完整性时 DBMS会采取一些策略加以处理 包括拒绝 级联操作和设置为空值 T 4 参照完整
  • m1 mac安装docker、k8s(成功案例)

    m1 mac安装docker k8s 成功案例 一 安装docker 二 安装kubernetes ps 系统 macos 12 monterey 一 安装docker 1 先要清理旧数据 讲道理这一步重不重要我还真没试过 毕竟在docke
  • 问题 C: 销售排行榜

    题目描述 你的任务是帮助淘宝网店店长整理销售数据 根据累计的销售记录 将所有商品按销售数量降序排列 输入 输入包括多行数据 行数小于100000 每行数据包括4个信息 分别是商品名称 销售数量 单价 成交日期 商品名称由小写字母组成 且不超
  • Android JNI

    选择你的到处路径和名称JAR file 直接Finish 这样的jar包里面只包括编译后的AdMob class 很小很干净 然后打开羽化的Unity工程AdMobTest File gt Open Project 双击UnityAdMob
  • Linux下安装ORACLE(一周成果、全是干货!)

    文章目录 一 安装前言 1 闲聊 2 提前知道的事 二 安装准备 1 Linux发行版本 ret hat7 4 更换yum源 传送门 https blog csdn net qq 42956179 article details 10961
  • 学习笔记:MongoDB命令的基础学习,使用springboot实现mongodb视图创建

    学习笔记 MongoDB命令的基础学习 使用springboot实现mongodb视图创建 创建集合 db createCollection my 查看集合 show collections 删除集合 db my drop 插入一条 没有c
  • Python描述符是什么?

    在Python中 通过使用描述符 程序员可以在引用对象属性时定制要完成的工作 接下来我们一起来聊聊Python描述符相关的知识 本质上 描述符是一个类 但它定义了另一个类中属性的访问模式 换句话说 一个类可以将属性管理全权委托给描述符类 描
  • 计算机视觉各领域前沿算法积累

    目录 一 目标检测 1 SSD 2 PaddleDetection 3 mmdetection 4 mediapipe 二 单目标跟踪 1 pytracking 2 pysot 3 SiamMask 4 siammask e 5 Alpha
  • MATLAB神经影像学数据的多模态多元模式分析方法

    在过去的十年中 多变量模式分析的使用在功能磁共振成像 fMRI 研究中变得流行 这并不奇怪 因为 MVPA 与传统且更常用的单变量分析相比具有几个优势 首先 MVPA 可以比单变量方法在区分感兴趣的条件方面提供更高的灵敏度 因为它考虑了体素
  • js栈内存和堆内存与垃圾回收机制

    v8作为javascirpt引擎 对变量的存储主要有两种位置 栈存储和堆存储 栈内存存储基本类型的变量 如Number String boolen undefined null 以及对对象和数组变量的指针 对象是动态分配内存 数组的初始化方
  • 《深入理解计算机系统》怎样学?个人看法和资源分享

    前言 我与 深入理解计算机系统 有三次接触吧 真有缘 第一次 在我读专科大二的时候 自己就看过一遍 深入理解计算机系统 想想就是放寒假前看完的 和现在的时间也差不了多少 第二次 在专科大三下学期又重新重头看起了本书 其主要原因为第一遍看的比
  • [面试题] 递增序列生成

    给定一个表达式 f i j 2 i 5 j i 和 j 为正整数 使得f i j 严格递增 求这个递增序列 思路 和 剑指OFFER 中求丑数的题目很像 序列中第N个数 必然是是前N 1个数乘以 2 或者乘以5 中大于第N 1个数的最小值