首页 > 编程语言 >程序员面试金典---12

程序员面试金典---12

时间:2023-04-21 22:14:31浏览次数:45  
标签:12 return 金典 move number param --- pop

递归乘法

直接上代码:

/**
 * @param {number} A
 * @param {number} B
 * @return {number}
 */
var multiply = function(A, B) {
    if(A === 0 || B === 0)return 0
    arr = [0]
    for(let i = 1; i <= B; i++){
        arr[i] = arr[i - 1] + A
    }
    return arr[B]
};

汉诺塔

代码:

/**
 * @param {number[]} A
 * @param {number[]} B
 * @param {number[]} C
 * @return {void} Do not return anything, modify C in-place instead.
 */
var hanota = function(A, B, C) {
    const n = A.length

    const move = (n, A, B, C) => {
        if(n === 1){
            C.push(A.pop())
            return
        }

        // 将A中的n-1个移动到B
        move(n - 1, A, C, B)
        // 将A剩余的一个移动到C
        C.push(A.pop())
        // 将B中的n-1个移动到C
        move(n - 1, B, A, C)
    }
    move(n, A, B, C)
};

标签:12,return,金典,move,number,param,---,pop
From: https://www.cnblogs.com/dgqp/p/17341995.html

相关文章

  • day04-商家查询缓存03
    功能02-商铺查询缓存033.功能02-商铺查询缓存3.6封装redis工具类3.6.1需求说明基于StringRedisTemplate封装一个工具列,满足下列需求:方法1:将任意Java对象序列化为json,并存储在string类型的key中,并且可以设置TTL过期时间方法2:将任意Java对象序列化为json,并存储在string类型的k......
  • Cobra 快速入门 - 专为命令行程序而生
    最近一直在看 Istio(一个 ServiceMesh 框架)相关的东西,当看到其源码时发现了一个新东西 Cobra,一查却发现这是个好东西,用的地方可不少,比如:Docker、Kubernetes 等都有它的身影存在。为了更好的了解这些开源框架(如,Istio、Kubernetes 等),势必需要对 Cobra 做一个详细的了解,后续可......
  • 【Linux】项目自动化构建工具-make/Makefile的使用
    目录前言依赖依赖关系依赖方法使用项目清理前言......
  • 06 基础查询-单表01
    06基础查询-单表01数据库既然是存储数据的,那么做数据的检索就是必不可少了。查询数据操作是数据库中使用频率最高的操作,学习方案是:单表查询子查询连接查询组合查询SQL执行顺序查询SQL在解析的时候的先后顺序如下:fromjoinonwheregroupby(开始使用select中的别名,后......
  • 08 基础查询-单表02:分组和排序
    08基础查询-单表02:分组和排序Groupby分组SQL聚集函数可用来汇总数据。这使我们能够对行进行计数,计算和与平均数,获得最大和最小值而不用检索所有数据。目前为止的所有计算都是在表的所有数据或匹配特定的WHERE子句的数据上进行的。比如:SELECTemp.empid,emp.ename,emp.sex,em......
  • 高通量测序的数据处理与分析(二)--宏基因组2
    博客原文宏基因组数据处理方法数据下载wget下载宏基因组的数据主要分布在两个数据库:1.NCBI的SRA数据库,2.ENA。近年来也有许多研究者将数据上传到中国的数据库:NGDC你可以直接通过网页下载数据,或者是通过各个网站提供的下载工具进行批量下载。也可以到sra-exporter这个网站......
  • MFC-SHGetSpecialFolderPath获取指定的系统路径
     CStringstr;TCHARpath[MAX_PATH];BOOLb=SHGetSpecialFolderPath(NULL,path,CSIDL_PROGRAM_FILES_COMMONX86,0);//获取指定的系统路径/*参数1:HWNDhwndOwner窗口所有者的句柄。可以NULL参数2:LPTSTRlpszPath返回路径的缓冲区,该缓......
  • boot-admin整合flowable官方editor-app源码进行BPMN2-0建模(续)
    boot-admin整合flowable官方editor-app源码进行BPMN2-0建模(续)书接上回项目源码仓库github项目源码仓库giteeboot-admin是一款采用前后端分离模式、基于SpringCloud微服务架构的SaaS后台管理框架。系统内置基础管理、权限管理、运行管理、定义管理、代码生成器和办公管理6个功......
  • 又是浪费时间的一天-ssh的安装之路
     远程办公的运维工程师都知道有这么一个神器:putty,只有390k。别看他小,但他五脏俱全,很是强大。所以,今天特地在复习巩固数据库知识时想用它直接登陆服务器的数据库命令行,而要安全的使用这个工具就必须安装一个加密协议,也就是ssh或telnet,但发现服务器上没有安装ssh和telnet。于是......
  • 算法学习day01数组part02-209、59、977
    packageLeetCode.arraypart02;/***209.长度最小的子数组*给定一个含有n个正整数的数组和一个正整数target。*找出该数组中满足其和≥target的长度最小的连续子数组[numsl,numsl+1,...,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0.*......