首页 > 其他分享 >#yyds干货盘点# LeetCode面试题:x 的平方根

#yyds干货盘点# LeetCode面试题:x 的平方根

时间:2023-04-06 23:33:50浏览次数:50  
标签:yyds 面试题 示例 int 0.5 整数 ans 平方根 LeetCode

1.简述:

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。

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

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

 

示例 1:

输入:x = 4

输出:2

示例 2:

输入:x = 8

输出:2

解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

2.代码实现:

class Solution {
    public int mySqrt(int x) {
        if (x == 0) {
            return 0;
        }
        int ans = (int) Math.exp(0.5 * Math.log(x));
        return (long) (ans + 1) * (ans + 1) <= x ? ans + 1 : ans;
    }
}

标签:yyds,面试题,示例,int,0.5,整数,ans,平方根,LeetCode
From: https://blog.51cto.com/u_15488507/6174250

相关文章

  • 代码随想录Day22-Leetcode235. 二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,4
    235.二叉搜索树的最近公共祖先题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/又玩了一天,手又生疏了好多;这道题看了题解,先用公共解法了,之前的题没刷,就给现在留坑了/***Definitionforabinarytreenode.*functionTree......
  • Web前端开发必看的100道大厂面试题
    1.说说gulp和webpack的区别开放式题目Gulp强调的是前端开发的工作流程。我们可以通过配置一系列的task,定义task处理的事务(例如文件压缩合并、雪碧图、启动server、版本控制等),然后定义执行顺序,来让Gulp执行这些task,从而构建项目的整个前端开发流程。通俗一点来说,“Gulp就像是一......
  • leetcode1000. 合并石头的最低成本
    有N堆石头排成一排,第i堆中有stones[i]块石头。每次移动(move)需要将连续的K堆石头合并为一堆,而这个移动的成本为这K堆石头的总数。找出把所有石头合并成一堆的最低成本。如果不可能,返回-1来源:力扣(LeetCode)链接:https://leetcode.cn/problems/minimum-cost-to-merge-st......
  • 力扣 面试题 10.11. 峰与谷
    面试题10.11.峰与谷在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5,8,4,2,3,4,6}中,{8,6}是峰,{5,2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。示例:输入:[5,3,1,2,3]输出: [......
  • 前端常见面试题笔记
    /***防抖*一段时间内触发重新计时*/functiondebounce(func,delay){lettimer=null;returnfunction(){if(timer)clearTimeout(timer)timer=setTimeout(()=>{//箭头函数直接继承父级作用域所以可...argumnets......
  • java面试题学习记录2
    1.索引的分类 主键索引,联合索引,唯一索引,全文索引,普通索引2.锁的分类 行锁:操作数据库时,锁定整行数据 表锁:操作数据库时,锁定整表数据 乐观锁:多线程情况下,认为其他线程不会去修改的数据,所以不会上锁,但是会在跟新时,判断一下数据有没有被改变,可以用版本号机制 悲......
  • 数组面试题
    1.消失的数字题目链接题目描述 解题思路异或操作符支持乘法交换律---> 0^3^0^1^0^1^2^3--->0^0^0^1^1^3^3^2--->相同的值异或为0--->0^2--->2intmissingNumber(int*nums,intnumsSize){intval=0;inti=0;for(i=0;i<numsSize;i++......
  • 前缀和-leetcode303
    LeetCode上的题目"303.区域和检索-数组不可变",是一个相对简单的问题。问题描述:给定一个整数数组nums,求出该数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。实现NumArray类:NumArray(int[]nums)用整数数组nums初始化对象intsumRange(inti,intj)返回......
  • leetcode简单题目
    关于ListNode报错publicclassListNode{intval;ListNodenext;publicListNode(intx){val=x;}}关于程序报错error:noviableconversionfrom'ListNode*'to'ListEP1:两数相加给你两个 非空的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方......
  • 【LeetCode剑指offer 01】数组中重复的数字、两个栈实现队列
    数组中重复的数字数组中重复的数字找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,5,3]输......