2022-05-05:给定一个正数num,要返回一个大于num的数,并且每一位和相邻位的数字不能相等.
返回达标的数字中,最小的那个。
来自微软。

答案2022-05-05:

从左往右看,是否有相邻两位相同的数字。如果有,则低位加1,低位右边全变成0,递归。

代码用rust编写。代码如下:

fn main() {
let answer = near(766665);
println!("answer = {}", answer);
} fn near(num: isize) -> isize {
// num = 174
// "0175"
// num = 899
// "0900"
// num = 999
// "01000"
let mut raw = format!("0{}", num + 1).chars().collect::<Vec<_>>();
process(&mut raw);
return raw.iter().collect::<String>().parse::<isize>().unwrap();
} fn process(raw: &mut Vec<char>) {
for i in 1..raw.len() {
if raw[(i - 1) as usize] == raw[i as usize] {
add_one(raw, i as isize);
for j in i + 1..raw.len() {
raw[j as usize] = '0';
}
process(raw);
return;
}
}
} // 99.....
// +1
//100
fn add_one(r: &mut Vec<char>, i: isize) {
let mut i: isize = i;
while r[i as usize] == '9' {
r[i as usize] = '0';
i -= 1;
}
r[i as usize] = (r[i as usize] as u8 + 1) as char;
}

执行结果如下:


左神java代码

2022-05-05:给定一个正数num,要返回一个大于num的数,并且每一位和相邻位的数字不能相等. 返回达标的数字中,最小的那个。 来自微软。的更多相关文章

  1. 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 print-all-combinations-of-given-length

    // 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 /* Input: set[] = {'a', 'b'}, k = 3 Output: aaa aab aba ...

  2. rushjs来自微软的单体仓库管理工具

    rushjs 是来自微软的单体仓库管理工具 ,与lerna 类似但是使用上稍显复杂 安装 npm install -g @microsoft/rush   简单使用 一个传统的基于npm 的处理 ~$ ...

  3. 输入一个正数 n,输出所有和为 n 连续正数序列。 java实现

    用了半小时才写出来啊, 其实这种思路应用范围很广,利用有序性这个特点,比如本体只要是有序就行,例如两个集合是有序的,求交集,有序数组的查找,有序数组的归并,有序有了优化的可能. 输入一个正数 n,输出 ...

  4. 任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0。

    题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0. 解法一:暴力求解.从1开始查找M,然后判断M*N=X这个数字是否只含有0,1. 解法二:由 ...

  5. encode_json 会对给定的Perl的数据结构转换为一个UTF-8 encoded, binary string.

    use JSON qw/encode_json decode_json/ ; use Encode; my $data = [ { 'name' => 'Ken' , 'age' => 1 ...

  6. #定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型。其他类型则报错,并且返回一个偶数列表:(注:列表里面的元素为偶数)。

    #定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型.其他类型则报错,并且返回一个偶数列表:(注:列表里面的元素为偶数). def get_num(num): i ...

  7. 输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。

    输入一个正数n,输出所有和为n连续正数序列.例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. #define N 15 void findS ...

  8. 290.单词模式。给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。(c++方法)

    题目描述: 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式. 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之 ...

  9. 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作。一次移动操作指用一个"LX"替换一个"XL",或者用一个"XR"替换一个"RX"。现给定起始字符串start和结束字符串end,请编写代码,当且仅当存在一系列移动操作使得start可以转换成end时, 返回True。

    在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"LX"替换一个"XL ...

  10. 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。

    // 第一种方法 // ConsoleApplication10.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...

随机推荐

  1. 文件包含(File Inclusion)

    什么是文件包含? 本室旨在为您提供利用文件包含漏洞的基本知识,包括本地文件包含 (LFI).远程文件包含 (RFI) 和目录遍历.此外,我们将讨论这些漏洞被发现后的风险以及所需的补救措施 在某些情况下 ...

  2. 痞子衡嵌入式:Farewell, 我的写博故事2021

    -- 题图:苏州盘门景区 2021年的最后一天,按惯例写个年终总结吧.感觉今年过得异常快,新冠疫情虽然得到一定程度控制,但大家似乎再难回到疫情前的生活状态.如果你尝试去回顾 2020 - 2021 这 ...

  3. 推荐一套轻量级的开源图床系统:Light Fast Picture

    如果您跟我一样平时有些博客的习惯,那么图片存储是否有困扰过你呢?今天就给大家推荐一款不错的开源图床系统:Light Fast Picture 它是一个基于koa + vue3.x + typescri ...

  4. 云原生API网关全生命周期管理Apache APISIX探究实操

    @ 目录 概述 定义 NGINX 与 Kong 的痛点 APISIX 的技术优势 特性 架构 应用场景 主要概念 部署 快速入门 quickstart安装 Admin API创建路由 RPM安装 安装 ...

  5. Flex布局原理【转载】

    引言 CSS3中的 Flexible Box,或者叫flexbox,是用于排列元素的一种布局模式. 顾名思义,弹性布局中的元素是有伸展和收缩自身的能力的. 相比于原来的布局方式,如float.posi ...

  6. 基于 ByteHouse 构建实时数仓实践

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数据的应用场景越来越丰富,企业对数据价值反馈到业务中的时效性要求也越来越高,很早就有人提出过一个概念: 数据的 ...

  7. 实现一个CRDT工具库——VClock 时钟向量类

    这段代码实现了一个VClock类,它是基于GCounter实现的.VClock是一种向量时钟,它可以用于在分布式系统中对事件发生的顺序进行排序.VClock的实现方式是将每个节点的计数器值存储在一个字 ...

  8. 机器学习算法(九): 基于线性判别模型的LDA手写数字分类识别

    1.机器学习算法(九): 基于线性判别模型的LDA手写数字分类识别 1.1 LDA算法简介和应用 线性判别模型(LDA)在模式识别领域(比如人脸识别等图形图像识别领域)中有非常广泛的应用.LDA是一种 ...

  9. 别逛了,送你一份2023年Java核心篇JVM(虚拟机)面试题整理

    Java内存区域 说一下 JVM 的主要组成部分及其作用? JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载).Execution engine(执行引擎):两个组件为Ru ...

  10. OpenGL Mac开发-如何使用imgui(1.89.4)插件进行调试

    为了调试我们的OpenGL Demo,可以尝试使用一个成熟的开源GUI插件imgui. 1,首先进入imgui在github上的地址. 在Release中下载最近的版本,可以得到一个Zip压缩包. 现 ...