【算法练级js+java】重复给定字符n次

news2024/12/28 18:23:16

题目

Repeats the given string n times.(复制指定的字符串n次)

期望结果

/**
* Repeats the given string n times.
* * repeat(‘', 3)
* // => '
**’
*
* repeat(‘abc’, 2)
* // => ‘abcabc’
*
* repeat(‘abc’, 0)
* // => “”
**/

代码实现

【js篇】
1.方法1:

	function repeat(string,n){
        let result = '';
        //边界情况处理
        if(!string || n < 1 || n > Number.MAX_SAFE_INTEGER){
          return result
        }
        do {
          result += string
          n--
        } while (n >= 1);
        return result;
     }

     const demo1 = repeat('*',3)
     console.log("🚀 ~ demo1:", demo1)
     const demo2 = repeat('abc',2)
     console.log("🚀 ~ demo2:", demo2)
     const demo3 = repeat('abc',0)
     console.log("🚀 ~ demo3:", demo3)

2.方式2:

     function repeat2(string,n){
        let result = '';
        //边界情况处理
        if(!string || n < 1 || n > Number.MAX_SAFE_INTEGER){
          return result
        }
        do {
        // Leverage the exponentiation by squaring algorithm for a faster repeat.
        // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
          if(n % 2){
            result += string
          }
          n = Math.floor( n / 2 );
          if(n){
            string += string
          }
        } while (n);
        return result;
     }
     const demo4 = repeat('*',3)
     console.log("🚀 ~ demo4:", demo4)

在这里插入图片描述
【java篇】

public class repeat {
    public static void main(String[] args) {
        /**
         * Repeats the given string `n` times.
         * * repeat('*', 3)
         * // => '***'
         *
         * repeat('abc', 2)
         * // => 'abcabc'
         *
         * repeat('abc', 0)
         * // => ''
         **/
        String str = repeat("*",3);
        System.out.println(str);
        String str1 = repeat("abc",2);
        System.out.println(str1);
        String str2 = repeat("abc",0);
        System.out.println(str2);
    }
    public static String repeat(String string,int n){
        String result = "";
        if(string.isEmpty() || n < 1 || n > Integer.MAX_VALUE){
            return  result;
        }

        do {
            if(n % 2 > 0){
                result +=string;
            }
            n = (int)(Math.floor( n / 2));
            if(n > 0){
                string += string;
            }
        }while (n > 0);
        return  result;
    }
}

在这里插入图片描述

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

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

相关文章

LLaMA 羊驼系大语言模型的前世今生

关于 LLaMA LLaMA是由Meta AI发布的大语言系列模型&#xff0c;完整的名字是Large Language Model Meta AI&#xff0c;直译&#xff1a;大语言模型元AI。Llama这个单词本身是指美洲大羊驼&#xff0c;所以社区也将这个系列的模型昵称为羊驼系模型。 Llama、Llama2 和 Llama3…

快速入门Jmeter5.X 性能测试小白到高手这一篇就够了

&#x1f680; 作者 &#xff1a;“二当家-小 D” &#x1f680; 博主简介&#xff1a;⭐前荔枝 FM 架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人&#xff0c;8 年开发架构经验&#xff0c;精通 java, 擅长分布式高并发架构, 自动化压力测试&#xff0c;微服务…

如何使git提交的时候忽略一些特殊文件?

认识.gitignore文件 在生成远程仓库的时候我们会看到这样一个选项&#xff1a; 这个.gitignore文件有啥用呢&#xff1f; .gotignore文件是Git版本控制系统中的一个特殊文件。用来指定哪些文件或者目录不被Git追踪或者提交到版本库中。也就意味着&#xff0c;如果我们有一些文…

Android build.prop生成过程源码分析

Android的build.prop文件是在Android编译时刻收集的各种property【LCD density/语言/编译时间, etc.】&#xff1b;编译完成之后&#xff0c;文件生成在out/target/product/<board【OK1000】>/system/目录下&#xff1b;在Android运行时刻可以通过property_get()[c/c域] …

使用QSS实现圆角 button and widget 组合

1、实现效果 2、QSS代码 #widget {min-height : 40px;max-height : 40px;border : 4px solid white;border-top-left-radius : 24px;border-bottom-left-radius : 24px;padding : 0;background : #AAA; }QPushButton#pushButton {min-height : 40px;max-height : 40px;min-wid…

打开深度学习的锁:(0)什么是神经网络?有哪些必备的知识点准备?

PS&#xff1a;每每温故必而知新 什么是神经网络&#xff1f; 一、一个单神经元的神经网络二、多个单神经元的神经网络三、到底什么是机器学习&#xff1f;&#xff08;重点&#xff09;1&#xff1a;什么是机器学习的训练&#xff1f;2&#xff1a;什么是模型&#xff1f;权重…

一起长锈:4 默认不可变的变量绑定与引用(从Java与C++转Rust之旅)

讲动人的故事,写懂人的代码 故事梗概:在她所维护的老旧Java系统即将被淘汰的危机边缘,这位在编程中总想快速完事的女程序员,希望能转岗到公司内部使用Rust语言的新项目组,因此开始自学Rust;然而,在掌握了Rust编程知识之后,为了通过Rust项目组的技术面试,使得转岗成功而…

记一次springboot jpa更新复杂几何类型报错Only simple geometries should be used

问题&#xff1a; 更新数据时&#xff0c; 几何字段MultiPolygon类型时报错&#xff1b; java.lang.IllegalStateException: Only simple geometries should be used 几何字段Point类型时不报错&#xff1b; 新增时字段存在MultiPolygon不报错。 查看日志可知&#xff0c;…

Linux基本指令(下下)

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 本篇博客续我之前的Linux指令&#xff08;下&a…

偏微分方程算法之椭圆型方程差分格式编程示例

目录 一、示例1-五点菱形格式 1.1 C代码 1.2 计算结果 二、示例2-九点紧差分格式 2.1 C代码 2.2 计算结果 三、示例3-二阶混合边值 3.1 C代码 3.2 计算结果 本专栏对椭圆型偏微分方程的三种主要差分方法进行了介绍&#xff0c;并给出相应格式的理论推导过程。为加深对…

百度Comate:你的智能编程助手,让代码编写更高效

一、引言 随着AI和人工智能技术的快速发展&#xff0c;越来越多的行业开始尝试将AI技术应用于实际业务中&#xff0c;包括编程领域。目前逐渐有大量的IT开发工程师开始使用各类的AI工具来帮助改善编程体验、提高效率和增加代码质量&#xff0c;将极大地推动了编程行业的进步和…

虚拟机装CentOS镜像

起先&#xff0c;是先安装一个VM虚拟机&#xff0c;再去官方网站之类的下载一些镜像&#xff0c;常见镜像有CentOS镜像&#xff0c;ubantu镜像&#xff0c;好像还有一个树莓还是什么的&#xff0c;软件这块&#xff0c;日新月异&#xff0c;更新太快&#xff0c;好久没碰&#…

7个AI驱动的3D模型生成器

老子云AI生成3D模型https://www.laozicloud.com/aiModel 在快速发展的技术世界中&#xff0c;人工智能 (AI) 已经改变了游戏规则&#xff0c;尤其是在 3D 对象生成领域。 AI 驱动的 3D 对象生成器彻底改变了我们创建和可视化 3D 模型的方式&#xff0c;使该过程更加高效、准确…

【ElasticSearch】IK分词器中停用词问题

问题描述 在ES中进行部分关键词搜索时&#xff0c;搜索无结果&#xff0c;如搜索 【IT】 环境描述 中文分词插件 这里使用的是 analysis-ik 分词调试 POST test_index/_analyze {"text":"IT Manager","analyzer": "ik_max_word"…

[开发|鸿蒙] DevEco Studio编译构建(笔记,持续更新)

构建体系 编译构建是将应用/服务的源代码、资源、第三方库等&#xff0c;通过编译工具转换为可直接在硬件设备上运行的二进制机器码&#xff0c;然后再将二进制机器码封装为HAP/APP软件包&#xff0c;并为HAP/APP包进行签名的过程。其中&#xff0c;HAP是可以直接运行在模拟器…

LeetCode738:单调递增的数字

题目描述 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 332 代码 class Solution { public:int monotoneIncreasingDigits(…

个人出租房屋收入需汇算吗?柯桥会计培训

2023年度个人所得税综合所得汇算清缴正在进行&#xff0c;个人出租房屋的收入需并入汇算清缴吗&#xff1f;汇算最后一步显示免申报是什么意思&#xff1f; 1 个人出租房屋的收入需并入汇算清缴吗&#xff1f; 答&#xff1a;不用。根据《国家税务总局关于办理2023年度个人所…

2024深圳杯数学建模C题完整思路+配套解题代码+半成品参考论文持续更新

所有资料持续更新&#xff0c;最晚我们将于5.9号更新参考论文。 【无水印word】2024深圳杯A题成品论文23页mtlab(python)双版本代码https://www.jdmm.cc/file/27105652024深圳杯数学建模C题完整思路配套解题代码半成品参考论文持续更新https://www.jdmm.cc/file/2710545 深圳杯…

【海豚调度 开机启动】dophischeduler 如何开启开机自启动功能

DolphinScheduler 是一个分布式、去中心化的大数据工作流调度系统&#xff0c;支持大数据任务调度。若要设置 DolphinScheduler 开机自启动&#xff0c;通常需要将其配置为系统服务。以下是一般步骤&#xff0c;具体操作可能因操作系统的不同而有所差异&#xff1a; 在 Linux …

OpenNJet 应用引擎:在 NGINX 基础上的云原生增强

目录 一、初识OpenNJet二、系统架构三、动手实践1.CentOS 编译环境配置1.1配置yum源&#xff1a;1.2.yum安装软件包1.3.创建符号连接 2.编译代码编译 OpenNJet执行 make 四、基本使用说明1.目录结构概述:2.常用命令: 五、部署 Web 应用程序配置文件修改启动 NJet 六、总结 一、…