实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

示例 1:

输入: 4
输出: 2

输入: 8
输出: 2
说明: 8 的平方根是 2.82842…,
由于返回类型是整数,小数部分将被舍去。

我的c++代码

暴力法

class Solution {public:int mySqrt(int x) {int i=0;while(i*i<x){i++;}if(i*i==x)return i;return i-1;}
};

二分查找

class Solution {public:int mySqrt(int x) {if(x==0||x==1)return x;int left=0,right=x/2;while(left<=right){double mid=(left+right)/2;if(mid*mid==x)return mid;else if(mid*mid>x)right=mid-1;elseleft=mid+1;}return left-1;}
};
  • 暴力法直接从0开始循环,找到 ≥x 的为止
  • 二分查找需要确认查找范围,由数学定理知当x>2时,其平方根属于(0,x/2)区间,则相应的二分查找的范围就确定了

学渣的刷题之旅 leetcode刷题 69.x的平方根(暴力法、二分查找)相关推荐

  1. 学渣的刷题之旅 leetcode刷题 1.两数之和

    给定一个整数数组nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素 ...

  2. 学渣的刷题之旅 leetcode刷题 21.合并两个有序列表

    将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 输入:1->2->4, 1->3->4 输出:1->1->2-> ...

  3. 学渣的刷题之旅 leetcode刷题 9. 回文数

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 输入: 121 输出: true 输入: -121 输出: false 解释: 从左向右读, 为 -12 ...

  4. 学渣的刷题之旅 leetcode刷题 83.删除排序链表中的重复元素

    给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出 ...

  5. 学渣的刷题之旅 leetcode刷题 53.最大子序和(动态规划,贪心法)

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4, ...

  6. 学渣的刷题之旅 leetcode刷题 70.爬楼梯(动态规划)

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 输入: 2 输出: 2 解释: 有两种方法可以爬 ...

  7. 学渣的刷题之旅 leetcode刷题 100.相同的树

    给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 我的c++代码 /*** Definition for a binary tree ...

  8. 学渣的刷题之旅 leetcode刷题 88. 合并两个有序数组

    给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n ...

  9. 学渣的刷题之旅 leetcode刷题 67.二进制求和

    给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 输入: a = "11", b = "1" 输出: " ...

最新文章

  1. 2022-2028年中国钢筘行业市场研究及前瞻分析报告
  2. container到image
  3. 在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序
  4. App 运营的指标具体都有哪些?(四)
  5. 如何使用Dependabot保持环境最新
  6. # 20180908 2018-2019-2 《密码与安全新技术专题》第9周作业
  7. Apriori算法-java
  8. 程序员如何在春节假期避免加班?
  9. WPF--ContextMenu绑定命令的一个问题
  10. 【linux】centos7下muduo库的安装
  11. cookie和session的区别及其原理
  12. 命令提示符操作及Java的特点
  13. VS2008下easyMule-VeryCD源代码的编译
  14. 求陈敏老师所著的《OPNET物联网仿真》中的模型IOT_Simulation.rar,万分感谢!
  15. flask怎么创建虚拟环境_在Windows OS中创建虚拟环境并在本地运行Flask应用程序
  16. 【图神经网络】Pytorch图神经网络库——PyG基础操作
  17. python标准库calendar判断年份是闰年和平年
  18. torch.randn和torch.rand有什么区别
  19. Frames : 一个特殊的窗口类型
  20. Threadx tx_thread_create创建线程

热门文章

  1. MAC 打开CAJViewerMac软件时报错
  2. WebDAV之葫芦儿·派盘 + PDF Expert
  3. python中如何导入torch_[PyTorch入门]之数据导入与处理
  4. BestMPRBaseVtk-003-修改工程,搬运官方代码并尝试理解-2
  5. SAP的统驭科目 - 什么是SAP的统驭科目
  6. 对统驭科目和特别总账标志的理解
  7. “大数据杀熟”?商家对数据的使用可能远超出想象
  8. Linux系统的下载神器XDM
  9. 工程制图——尺寸标注
  10. 代理机制说明及JDK动态代理的使用