题目描述

实现函数 int sqrt(int x).

计算并返回x的平方根(向下取整)

思路:

利用平方数的性质。连续n个奇数相加的结果一定是平方数。例如:

9 = 1+3+5 , 一共3个奇数相加,所以32= 9
16 = 1+3+5+7,一共4个奇数相加,所以42=16

public class SqrtMe {public static void main(String[] args) {int x = 9;SqrtMe sqrtMe = new SqrtMe();System.out.println(sqrtMe.sqrt(5));}/**** @param x int整型* @return int整型*/public int sqrt (int x) {int res = 0;int i = 1;while(x >= 0){x -= i;++res;i +=2 ;}return res-1;}
}

常考数据结构与算法:求平方根相关推荐

  1. 常考数据结构与算法:求二叉树的层序遍历

    题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是 [ [3], [9,20], ...

  2. 常考数据结构与算法:输出二叉树的右视图

    题目描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 上图树的右视图为:{1,4,3,7} 做此题之前可以先做下面3道题: 1. 常考数据结构与算法:求二叉树的层序遍历 2.常 ...

  3. 常考数据结构与算法:表达式求值

    题目描述 请写一个整数计算器,支持加减乘三种运算和括号. 示例2 输入 "(2*(3-4))*5" 返回值 -10 运算符号有优先级,所以使用单调栈可以解决改问题.如下代码,效率比 ...

  4. 常考数据结构与算法: NC19 连续子数组的最大和

    描述 输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组.求所有子数组的和的最大值. 数据范围: 1 <= n <= 10^51<=n<=10 5 ...

  5. 常考数据结构与算法-manacher算法

    回文字符串123321 回文直径:6 回文半径:3 求一个字符串中的最长回文字符串. abc123321def 一般会在原字符串中添加特殊字符,比如添加"#". 变成#a#b#c# ...

  6. 常考数据结构与算法:平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空 ...

  7. 常考数据结构与算法:二叉树的最大深度

    题目描述 求给定二叉树的最大深度, 最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量. class TreeNode {int val;TreeNode left;TreeNode righ ...

  8. 常考数据结构与算法:最长回文子串

    暴力解法: 列举所有的子串,判断是否为回文串,保存最长的回文串. /** 暴力解法: 列举所有的子串,判断是否为回文串,保存最长的回文串.*/public int getLongestPalindro ...

  9. 常考数据结构与算法:删除链表的倒数第n个节点

    题目描述 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针 例如, 给出的链表为:1->2->3->4->5, n= 2.删除了链表的倒数第n个节点之后,链表变为1-& ...

最新文章

  1. uniapp处理IOS底部横条安全区域
  2. linux创建的kvm无法运行,使用virt-manager运行虚拟机的方法(创建第一个虚拟机)...
  3. my.ini修改后服务无法启动_Spring Cloud Eureka 服务实现不停机(Zero-downtime)部署
  4. Linux自动化安装cobbler
  5. java url特殊字符转义字符_URL中包含有特殊字符,进行转义
  6. fopen 參数具体解释
  7. jQuery Mobile中的页面加载与跳转机制
  8. Centos7下部署ceph 12.2.1 (luminous)集群及RBD使用
  9. Java学习路线图(完整详细2021版)
  10. Umap高维数据可视化与降维
  11. 计算机二级题目之c运算符和表达式练习学习
  12. http协议与tcp协议区别
  13. JS实现数组/对象扁平化
  14. 小米平板2 Windows刷回MIUI9线刷教程(2019)
  15. 地球人都在玩跨境电商
  16. IOS音视频(一)AVFoundation核心类
  17. COSO内部控制框架
  18. .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)
  19. android获取应用权限管理,如何在android中获取应用程序权限设置?
  20. 嵌入式 ARM 控制器采用 NXP 的高性能处理器 I.MX6ULL

热门文章

  1. pgjdbc源码分析
  2. Windows 窗体启动和关闭的事件顺序
  3. (转载)Unity中解析ini配置文件----INIParser
  4. ODAC(V9.5.15) 学习笔记(三)TOraSession(3)
  5. 分页数据的新展示方式---瀑布流
  6. Xcode 3.2.5免证书开发调试[转]
  7. 哈夫曼树(最优二叉树)(c/c++)
  8. Json反序列化与Java泛型
  9. 初学Java的那段日子
  10. 文远知行A轮再获数千万美元融资 商汤科技和农银国际跟投