zoukankan      html  css  js  c++  java
  • 《剑指offer》JavaScript版 10-12题

    10矩形覆盖

    问题描述

      我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

    实现思路

      这是斐波那契数列的一个变身。

    代码

    function rectCover(number)
    {
        // write code here
        if (number < 1) {
            return 0;
        }
        else if (number == 1 || number == 2) {
            return number;
        }
    
        else {
            return rectCover(number - 1) + rectCover(number - 2);
        }
    
    }

    11 二进制中1的个数

    问题描述

      输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。  

    实现思路

      把一个整数减去1,再和原整数做与运算,会把该整数最后边一个1变成0,那么一个整数的二进制表示中有多少个1,就可以进行多少次这样的操作。

    代码

    function NumberOf1(n)
    {
        // write code here
        var count=0;
        while(n){
            ++count;
            n=n&(n-1);
        }
        return count;
    }

    12数值的整数次方

    问题描述

      给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

    实现思路

      直接使用math提供的方法

    代码

    function Power(base, exponent)
    {
        // write code here
        //return base**exponent;
        return Math.pow(base,exponent);
    }
  • 相关阅读:
    OSG节点访问和遍历
    osg ifc数据渲染着色器
    osg qt kdchart 开发施工过程模拟软件
    KDChart example
    Qt kdChart 甘特图案例
    Qt KDChart编译
    osg 3ds模型加载与操作
    osg 三维模型加载与解析(fbx、3ds、ive、obj、osg)
    osg fbx 模型结构操作
    osg fbx 模型树结构
  • 原文地址:https://www.cnblogs.com/jiaxiaonuo/p/7290072.html
Copyright © 2011-2022 走看看