常考数据结构与算法:求平方根
题目描述
实现函数 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;}
}
常考数据结构与算法:求平方根相关推荐
- 常考数据结构与算法:求二叉树的层序遍历
题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是 [ [3], [9,20], ...
- 常考数据结构与算法:输出二叉树的右视图
题目描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 上图树的右视图为:{1,4,3,7} 做此题之前可以先做下面3道题: 1. 常考数据结构与算法:求二叉树的层序遍历 2.常 ...
- 常考数据结构与算法:表达式求值
题目描述 请写一个整数计算器,支持加减乘三种运算和括号. 示例2 输入 "(2*(3-4))*5" 返回值 -10 运算符号有优先级,所以使用单调栈可以解决改问题.如下代码,效率比 ...
- 常考数据结构与算法: NC19 连续子数组的最大和
描述 输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组.求所有子数组的和的最大值. 数据范围: 1 <= n <= 10^51<=n<=10 5 ...
- 常考数据结构与算法-manacher算法
回文字符串123321 回文直径:6 回文半径:3 求一个字符串中的最长回文字符串. abc123321def 一般会在原字符串中添加特殊字符,比如添加"#". 变成#a#b#c# ...
- 常考数据结构与算法:平衡二叉树
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空 ...
- 常考数据结构与算法:二叉树的最大深度
题目描述 求给定二叉树的最大深度, 最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量. class TreeNode {int val;TreeNode left;TreeNode righ ...
- 常考数据结构与算法:最长回文子串
暴力解法: 列举所有的子串,判断是否为回文串,保存最长的回文串. /** 暴力解法: 列举所有的子串,判断是否为回文串,保存最长的回文串.*/public int getLongestPalindro ...
- 常考数据结构与算法:删除链表的倒数第n个节点
题目描述 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针 例如, 给出的链表为:1->2->3->4->5, n= 2.删除了链表的倒数第n个节点之后,链表变为1-& ...
最新文章
- uniapp处理IOS底部横条安全区域
- linux创建的kvm无法运行,使用virt-manager运行虚拟机的方法(创建第一个虚拟机)...
- my.ini修改后服务无法启动_Spring Cloud Eureka 服务实现不停机(Zero-downtime)部署
- Linux自动化安装cobbler
- java url特殊字符转义字符_URL中包含有特殊字符,进行转义
- fopen 參数具体解释
- jQuery Mobile中的页面加载与跳转机制
- Centos7下部署ceph 12.2.1 (luminous)集群及RBD使用
- Java学习路线图(完整详细2021版)
- Umap高维数据可视化与降维
- 计算机二级题目之c运算符和表达式练习学习
- http协议与tcp协议区别
- JS实现数组/对象扁平化
- 小米平板2 Windows刷回MIUI9线刷教程(2019)
- 地球人都在玩跨境电商
- IOS音视频(一)AVFoundation核心类
- COSO内部控制框架
- .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)
- android获取应用权限管理,如何在android中获取应用程序权限设置?
- 嵌入式 ARM 控制器采用 NXP 的高性能处理器 I.MX6ULL