获取1-10000之前所有的对称数(回文数)

2023-11-08

对称数

求 1 - 10000 之间的所有对称数(回文)

例如:0,1,2,11,22,101,232,1221....

思路1:使用数组反转

- 数字转换为字符串

- 字符串转换为数组 reverse ,再 join 生成字符串

- 比较前后的字符串

/**
 * 查询 1-max 的所有对称数(数组反转)
 * @param max 最大值
 */
export function findPalindromeNumbers1(max: number): number[] {
    const res: number[] = []
    if (max <= 0) return res

    for (let i = 1; i <= max; i++) {
        // 转换为字符串,转换为数组,再反转,比较
        const s = i.toString()
        if (s === s.split('').reverse().join('')) {
            res.push(i)
        }
    }

    return res
}

思路2:使用字符串头尾比较

- 数字转换为字符串

- 字符串头尾比较

还可以使用**栈**(但栈会用到数组,性能不如直接操作字符串)

- 数字转换为字符串,求长度

- 如果长度是偶数,则用栈比较

- 如果长度是奇数,则忽略中间的数字,其他的用栈比较

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

获取1-10000之前所有的对称数(回文数) 的相关文章

  • Crashlytics工具的接入

    最近应公司上级的指示 要接入Crashlytics来进行bug统计工具 根据官网的指示安装出现了好多坑 费了点劲接入了 但是本人感觉没有啥卵用 具体的看下面这篇文章的介绍 移动平台奔溃收集 http blog csdn net zhuoba
  • WEB前端后端简单区别,通俗理解

    前端开发和后台开发是有区别的 工作的内容和负责的东西是完全的不同的 以下以网站的开发为例 1 前端开发 前端开发现在一般指的就是web前端开发工程师 其负责是网站前端页面也就是网页的页面开发 简单的说网站前端负责是东西是网站用户可见的东西
  • 解决 Agent admitted failure to sign using the key 问题 with ssh

    配置ssh 之前要在本机上装上ssh 可以通过sudo apt get install ssh来安装 如果没有进行配置的话 登录到本机或者远程主机需要该主机的密码才行 下面进行无密码登录的配置 很简单 执行ssh keygen t rsa命
  • VM虚拟机中如何设置ip地址

    当我们在windows环境下 在cmd命令行中输入ipconfig可以看到我们的主机ip地址 但是我们创建了一台虚拟机 并且装好系统时 输入ifconfig 这里和windows下命令不一样 不要搞混了 时 会发现得不到ip地址 下面就说一
  • 删除数组中小于平均值的数

    利用指向一维数组的指针 将一个含有m m lt 10 个整数的一维数组中小于平均值的所有元素顺次删除掉 例如 原数组为3 5 7 4 1 删除后的数组应为5 7 4 提示 先输入数组元素个数 再依次输入数组元素的值 include

随机推荐

  • 吊打面试官:2023最新安全渗透面试题。

    安全渗透面试题 1 引言 2 安全渗透面试题 2 1 什么是渗透测试 2 2 你能提供一些常见的渗透测试工具和技术吗 2 3 在渗透测试中 如何利用SQL注入攻击 2 4 在渗透测试中 如何利用XSS攻击 2 5 在渗透测试中 如何利用代码
  • 编译busybox报错:scripts/Makefile.build:192: recipe for target 'loginutils/passwd.o' failed

    ubuntu18 04上编译busybox 提示上图中的错误 如何解决 修改busybox中的源码 include libbb h 中 增加一行 include
  • 已解决:H5移动端网页实现录音功能,js实现录音功能,包括安卓webview接口也可以使用

    遇到一个需求 需要做一个手机网页录音的功能 嵌入到webview中去 用安卓原生录音倒是可以 但是想着尽量去安卓化开发 就想着用纯的js前端代码去实现录音功能 在 Web 应用程序中 JavaScript 是运行在浏览器中的客户端脚本语言
  • Android自定义蒙层

    在开发过程中有时候会遇到特定情况下显示蒙层的需求 比如在点击某个Edittext搜索框时 部分界面出现浅透明蒙层 自定义蒙层 class MongolianView context Context attrs AttributeSet Li
  • 华为p20nfc怎么复制门禁卡_华为手机怎么绑定门禁卡

    绑定门禁卡的功能在华为手机的 钱包 应用内 点击 门钥匙 的选项 选择 添加 就可以将门禁卡贴近NFC功能进行自动读取 添加需要验证华为账号 使用的时候在钱包中选择门禁卡验证指纹之后 靠近读卡机即可 以下是详细介绍 1 打开华为 钱包 应用
  • 第5章 基础——5.3. C++项目组成

    回到目录 白话C 5 3 C 项目组成 首先我们知道了 写一个C 程序 可能需要多个源文件 比如a cpp b cpp 有没有可能只用一个源文件呢 似乎是可以的 比如我们之前写的 Hello world 经典版等项目 不就只有一个main
  • Web前端学习上----(案例实现)

    前言 前言 很多事情先有念头 后来才有了行动 只要坚持 总会在这个过程中收获很多 博客质量也会慢慢提升 我知道想要达到高级的水平 需要不断的学习 在这个过程会吸收大量知识 而人的记忆是有限的 所以每隔一段时间 将学习的东西整理出来 发表成博
  • pcl经典算法60例——所有代码参考链接(开源)

    pcl经典算法60例大集合 方法名称 开源链接 1 打开点云 MFC显示点云 柯西等式的博客 CSDN博客 2 显示法线 PCL计算点云的法线 pcl 法线 Tom Hardy的博客 CSDN博客 3 三角化 PCL学习笔记 点云曲面重建
  • 服务器提示临时文件已满,win10系统提示”由于临时文件夹已满而导致“磁盘空间不足”错误的解决办法_win10教程_uc电脑园...

    如果你已使用 磁盘清理 释放设备上的空间 然后看到 磁盘空间不足 错误 这可能是因为你的临时文件夹正在被 Microsoft Store 使用的应用程序 appx 文件快速占用所致 今天小编就给大家带来win10系统提示由于临时文件夹已满而
  • Mysql读写锁保姆级图文教程

    准备 创建 mylock 表 CREATE TABLE mylock id int 11 NOT NULL AUTO INCREMENT name varchar 20 DEFAULT NULL PRIMARY KEY id ENGINE
  • 抖音最新抓包方案

    可以通过hook java层如下图所示的地方 dy默认走的是quick协议 但是为了兼容更多版本的手机 有一个降级操作 毕竟担心cronet低版本适配不好 所以可以通过hook这个方法来使其强制降级到Http协议 frida脚本 1 2 3
  • JDBC获取数据库连接

    要素一 Driver接口实现类 1 Driver接口介绍 1 1java sql Driver 接口是所有 JDBC 驱动程序需要实现的接口 这个接口是提供给数据库厂商使用的 不同数据库厂商提供不同的实现 1 2在程序中不需要直接去访问实现
  • Git 工作区、暂存区和版本库

    基本概念 我们等来理解下Git工作区 暂存区和版本库概念 工作区 就是你在电脑里能看到的目录 强烈推荐git新手阅读 暂存区 英文叫stage 或index 一般存放在igt 目录下的index文件 git index 中 所以我们把暂存区
  • STM32初学者项目一:点亮第一颗LED灯(基于地址操作)

    步骤1 在SYSTEM创建相应的外设文件夹以及对应的 c h源文件 具体可参考之前写的创建基本工程文件 基于STM32官方库如何独立创建一个标准的STM32F103X的标准工程文件 是浩吉呀哈的博客 CSDN博客 步骤2 将对应的源文件加入
  • PHP登录注册页面

    注册 html 注册1 php
  • 四元数 旋转 旋转矩阵 欧拉角互相转换

    四元数的作用 表达旋转 旋转的表达方式有很多种 有欧拉角 旋转矩阵 轴角 四元数 unit quaternion unit quaternion是一种表达旋转的方式 不同的旋转表达方式概览 1 欧拉角 欧拉角使用最简单的x y z值来分别表
  • Python如何计算两个数字之和是多少?

    python是一门非常受欢迎的编程语言 具有多种优势 简单易学 用途广泛 免费开源 易读易维护 可移植 且具有丰富的库 在诸多领域都得到了广泛的应用 而在python中 求两个数的和是非常常见的需求 但很多小伙伴在实际操作过程中经常会出现报
  • 第【4】篇 如何理解数字货币?它与区块链又是什么样的关系?

    为什么80 的码农都做不了架构师 gt gt gt 从历史进程来看 货币的形态主要经历了几次变化 从早期社会如兽皮 牲畜 陶器的物物交换 到各种贝壳类的货币 再到后面的铜币 乃至后来人们选择了黄金和白银作为流通货币 随着消费需求不断增加 人
  • Android获取系统文件常用路径(详细)

    在android 6 0以前 你可以只关注外置存储是否挂载即可 但是从6 0以后 也就是M系统后 还需要判断是否有读写权限 只有具备这些权限才可以读写外置存储 package com jinfeng gongshigonggao utils
  • 获取1-10000之前所有的对称数(回文数)

    对称数 求 1 10000 之间的所有对称数 回文 例如 0 1 2 11 22 101 232 1221 思路1 使用数组反转 数字转换为字符串 字符串转换为数组 reverse 再 join 生成字符串 比较前后的字符串 查询 1 ma