当前位置: 首页 > news >正文

网站开发流程 知乎网站开发需要多钱

网站开发流程 知乎,网站开发需要多钱,企业网站建设的基本标准,太原模板建站软件点击蓝字“dotNET匠人”关注我哟加个“星标★”#xff0c;每日 7:15#xff0c;好文必达#xff01;前文传送门:上篇文章中一道数学问题 - 自除数#xff0c;今天我们接着分析 LeetCode 中的另一道数学题吧~今天要给大家分析的面试题是 LeetCode 上第 633 号问题#xff… 点击蓝字“dotNET匠人”关注我哟加个“星标★”每日 7:15好文必达前文传送门:上篇文章中一道数学问题 - 自除数今天我们接着分析 LeetCode 中的另一道数学题吧~今天要给大家分析的面试题是 LeetCode 上第 633 号问题Leetcode 633 - 平方数之和https://leetcode.com/problems/sum-of-square-numbers/题目描述给定一个非负整数c 你要判断是否存在两个整数a和 b使得。示例1:输入: 5 输出: True 解释: 1* 1 2* 2 5示例2:输入: 3 输出: FalseInput:5 2 100Expected answer:true true true题目难度: 简单贡献者Stomach_ache相关话题数学https://leetcode-cn.com/tag/math相似题目有效的完全平方数https://leetcode-cn.com/problems/valid-perfect-square解题思路:方法1: 遍历做一次循环用目标和减去循环变量的平方如果剩下的部分依然是完全平方的情形存在就返回true否则返回false。假定根据数据的对称性循环变量 i 只需取到  即可覆盖所有情形.时间复杂度: O(n)方法2: 双指针法左指针 l0右指针 r √C夹逼条件是 ll rr C感谢 博客园园友 msp的昌伟哥哥 的补充和指正~时间复杂度: log(n)方法1 已AC代码:最初版本:public class Solution { public bool JudgeSquareSum(int c) { for (int i 0; c - 2 * i * i 0; i) { double diff c - i*i; // 若向上取整向下取整则该数开方后是整数 if ((int)(Math.Ceiling(Math.Sqrt(diff))) (int)(Math.Floor(Math.Sqrt(diff)))) return true; } return false; } }Rank:执行用时: 56ms, 在所有 csharp 提交中击败了 68.18%的用户.优化1:public class Solution { public bool JudgeSquareSum(int c) { for (int i 0; c - 2 * i * i 0; i) { int diff c - i*i; if (IsPerfectSquare(diff)) return true; } return false; } private bool IsPerfectSquare(int num) { double sq1 Math.Sqrt(num); int sq2 (int)Math.Sqrt(num); if (Math.Abs(sq1 - (double)sq2) 10e-10) return true; return false; } }Rank:执行用时: 52ms, 在所有 csharp 提交中击败了 90.91% 的用户.优化2(根据文末参考资料[1]中MPUCoder 的回答改写,16进制下mod16减少比较次数):public class Solution { public bool JudgeSquareSum(int c) { for (int i 0; i c c - i * i 0; i) { int diff c - i*i; if (IsPerfectSquare(diff)) return true; } return false; } public bool IsPerfectSquare(int num) { //TRUE only if n mod 16 is 0,1,4,or 9 if ((0x0213 (1 (num 15))) ! 0) { int t (int)Math.Floor(Math.Sqrt((double)num) 0.5); return t * t num; } return false; } }Rank:执行用时: 44ms, 在所有 csharp 提交中击败了 100.00% 的用户.优化3(根据文末参考资料[1]中 Simon 的回答改写):public class Solution { public bool JudgeSquareSum(int c) { for (int i 0; c - i * i 0; i) { long diff c - i*i; if (IsSquareFast(diff)) return true; } return false; } bool IsSquareFast(long n) { if ((0x2030213 (1 (int)(n 31))) 0) { long t (long)Math.Round(Math.Sqrt((double)n)); bool result t * t n; return result; } return false; } }Rank:执行用时: 48ms, 在所有 csharp 提交中击败了 100.00%的用户.方法2 已AC代码: public class Solution { public bool JudgeSquareSum(int c) { var r (int)Math.Sqrt(c); var l 0; while (l r) { var sum l * l r * r; if (sum c) return true; if (sum c) l; else r--; } return false; } // 以下为测试 public static void Main(string[] args) { var sol new Solution(); var res sol.JudgeSquareSum(25); Console.WriteLine(res); } }Rank: 执行用时: 40ms, 在所有 csharp 提交中击败了 100.00% 的用户.相比较而已双指针法确实更快一些~相应代码已经上传到github:https://github.com/yanglr/Leetcode-CSharp/tree/master/leetcode633参考资料:[1] Fast way to test whether a number is a squarehttps://www.johndcook.com/blog/2008/11/17/fast-way-to-test-whether-a-number-is-a-square/[2] Shortest way to check perfect Square? - C#https://stackoverflow.com/questions/4885925/shortest-way-to-check-perfect-square/4886006#4886006End作者简介Bravo Yeung计算机硕士知乎干货答主(获81K 赞同, 37K 感谢, 234K 收藏)。曾在国内 Top3互联网视频直播公司工作过后加入一家外企做软件开发至今。欢迎各位读者加入 .NET技术交流群在公众号后台回复“加群”或者“学习”即可。朕已阅
http://www.huolong8.cn/news/38934/

相关文章:

  • 网站名查询厦门 网站建设
  • 用asp做的网站建设工程指数网站
  • 淘客商品网站怎么做的嘉定区网站建设公司
  • 名者观看网站商城小程序开发报价
  • 网站建设企业如何为公司建设苏州马可波罗网站建设
  • 运营商做网站怎么使用模板建设网站
  • 赣榆建设局网站军事新闻播报最新
  • 网站免费制作平台wordpress显示未开启stmp服务
  • 阿里云做电脑网站电商新手入门教程
  • 做网站还有开发文档吗排版漂亮的网站
  • 网站营销代理网站设计是用ps做图吗
  • 用php做视频网站有哪些dw网站建设代码
  • 山东电力建设第一工程有限公司网站注册网站设计的主题
  • 福建省龙岩市建设培训中心网站乐清网络公司哪家最好
  • 东莞网站制作哪里找宠物发布网站模板
  • 网站建设968住房城乡建设网站查询
  • 南昌网站建设大全购物网站排名2018
  • 网站建设择网络营销的基本特点和描述
  • 深圳公司 网站建设手机下载视频网站模板下载
  • 做网站 需要 域名 空间企业市场营销
  • 广州天河网站开发公司做淘宝店头的网站
  • 网站备案需要几天不定期更新域名
  • 网站建设一般用什么语言公司网站建设东莞
  • 精美网站单屏风格wordpress主题
  • 做公司网站要注意哪些问题推荐个临汾做网站的
  • 外贸网站建设信息深圳物流网站建设
  • 移动网站设计方案上海网站建设排名公司哪家好
  • 免费个人网站2018广告优化师属于什么行业
  • 电商网站建设需求成都最新动态
  • 什么类型的公司需要做建设网站的郑州移动端网站建设