zoukankan      html  css  js  c++  java
  • Day 53

    第367题:

    给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。

    来源:力扣(LeetCode)说明:不要使用任何内置的库函数,如  sqrt。

    1、可知当num大于4的时候,num/2的平方是肯定大于num的,由因为1是完全平方数,2、3不是完全平方数;  

      那么我们判断num的平方根是否存在时,只需要在(1,num/2)内判断即可;

      利用二分法在(1,num/2)内判断,当mid*mid>num时,说明这个值大了,那么就将right=mid-1,如果mid*mid<num,就将left=mid+1;

      这样进行判断,最终可得出num是否为完全平方数。

      

    第374题:

    猜数字游戏的规则如下:

    每轮游戏,系统都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。

    如果你猜错了,系统会告诉你,你猜测的数字比系统选出的数字是大了还是小了。来源:力扣(LeetCode)

    你可以通过调用一个预先定义好的接口 guess(int num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0):

    -1 : 你猜测的数字比系统选出的数字大
    1 : 你猜测的数字比系统选出的数字小
    0 : 恭喜!你猜对了!

    1、直接二分法从中间开始遍历,多次操作得出结果。

      

  • 相关阅读:
    #2019120500009-LG 数据结构 优先队列(1)
    #2019120500008-LG 数据结构 栈(1)
    2019D1T1 格雷码
    #2019120500006-LG 迷宫
    #2019120500004-LG 单词方阵
    #2019110700005
    hdu 1827强连通分量
    HDU 5691 状压dp
    HDU 4734--基础数位dp(递推)
    HDU 4638--莫队算法
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13569023.html
Copyright © 2011-2022 走看看