zoukankan      html  css  js  c++  java
  • 剑指offer之关于整数的处理

    首先是整数次方的处理

    在这处理的时候有几个细节主义处理

    1.当指数是负数的时候

    2.当指数式0的时候

    3.当不满足条件的时候要抛出异常

    再一个就是常用的将一个树化为二进制的形式,或者是求整数的幂或者矩阵 的幂

    这个函数写的时候是用递归来写的,所以要注意跳出来的条件,第二使用递归来实现,三,用&操作代替原来的求%的操作,而且在用之前都要考虑这个范围的问题,一般会说参数为n,可是这个n到底是多大呢,用相应的类型去求解相应规模的运算

    ----------------------------------------------------------------------------从1到n位最大数的处理-----------------------------------------------------------------------------------------

    当n很大的时候,超过整数的表示范围,就不能用整数进行处理,这时候从字符串的角度进行解决,一边打印,一边寻找边界

    一个最简单的办法就是将每次增加以后得到的数与‘999....99’进行比较,判断是否相等,但是这样的复杂度比较高,每次比较都是0(n)的算法

    另外一种就是每次判断最高位在加1之后是否进位,如果有进位。那么这个数就是所要求的最大的整数了

    其中的自增函数

    另外一种解题思路是使用全排列的思想依次列列举最后一项,所以就是使用递归的思想来解决这个问题

    使用两个函数的思想和快速排序的思想相像

  • 相关阅读:
    POJ 1258 Agri-Net (prim水题)
    POJ 1258 Agri-Net (prim水题)
    Call to your teacher
    Call to your teacher
    Redis 笔记与总结8 PHP + Redis 信息管理系统(分页+好友关注)
    用R语言求置信区间
    用R语言求置信区间
    竞品分析报告正确的打开方式
    竞品分析报告正确的打开方式
    内容分析在用户反馈分析中的应用
  • 原文地址:https://www.cnblogs.com/huicpc0212/p/4770351.html
Copyright © 2011-2022 走看看