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

自己做的美食分享到网站品牌咨询

自己做的美食分享到网站,品牌咨询,南昌互联网网站开发,网站开发是编程吗633. 平方数之和 2024.9.11 题目 给定一个非负整数 c &#xff0c;你要判断是否存在两个整数 a 和 b&#xff0c;使得 a2 b2 c 。 0 < c < 2的31次方 - 1 示例 示例 1&#xff1a; 输入&#xff1a;c 5 输出&#xff1a;true 解释&#xff1a;1 * 1 2 * 2 5示…

633. 平方数之和

2024.9.11

题目

给定一个非负整数 c ,你要判断是否存在两个整数 ab,使得 a2 + b2 = c

  • 0 <= c <= 2的31次方 - 1
示例

示例 1:

输入:c = 5
输出:true
解释:1 * 1 + 2 * 2 = 5

示例 2:

输入:c = 3
输出:false
反思

1.不要想当然的认为这道题有一致的解法,虽然也可以用某种方式去做,但很可能有更简单的方式。

2.千万注意题目中给值的边界,如本题0 <= c <= 2的31次方 ,前后两个边界都要考虑,一个是ab均有可能为0,另一个是ab都有可能不能被int存放。

题解1-square

将数组nums的值和它对应的索引存入哈希表作为键值对,利用哈希表查询时间复杂度为O(1),查询nums[i]是否存在。

class Solution {
public:bool judgeSquareSum(int c) {for (long a = 0; a * a <= c; ++a) {long b_squared = c - a * a;long b = std::sqrt(b_squared);if (b * b == b_squared) { // 如果 b 是整数,那么 b_squared 是完全平方数return true;}}return false;}
};
题解2-双指针

来自力扣官方题解

不失一般性,可以假设 a≤b。初始时 a=0,b=更号c ,进行如下操作:

class Solution {
public:bool judgeSquareSum(int c) {long left = 0;long right = (int)sqrt(c);while (left <= right) {long sum = left * left + right * right;if (sum == c) {return true;} else if (sum > c) {right--;} else {left++;}}return false;}
};
http://www.mmbaike.com/news/76880.html

相关文章:

  • 网站建设后备案多少钱天津百度分公司
  • 手机网站优化市场调研报告的基本框架
  • 怎么快速推广自己的二维码seo搜索引擎优化人员
  • 买了域名和空间怎么做网站松原新闻头条
  • 做网站哪家靠谱网站广告调词软件
  • 企业手机网站建设机构企业网络营销系统分析报告
  • 租用外国服务器赌博网站建设长沙seo网站推广
  • 苗木网站什么做商丘网站优化公司
  • 做一个模板网站多少钱百度关键词竞价和收费的方法
  • 网站建设兰州今天新闻最新消息
  • 郑州市网站制作公司seo优化推广专员招聘
  • 网站建设栏目标语口号网络营销的八大职能
  • 虚拟机中建设iis网站网络营销的策划流程
  • 在原域名给公司建立网站深圳百度国际大厦
  • 网站建设邮箱云盘网页版登录
  • 想做个自己的网站竞价推广教程
  • 负责县政府网站建设 更新做推广app赚钱的项目
  • lamp网站开发经验最好的bt磁力搜索引擎
  • struts动态网站开发综合实训总结营销软文范例大全100
  • 团购网站营销方案百度怎么发自己的小广告
  • 网站备案填写要求吗如何建立网站 个人
  • wordpress菜单手机显示下拉网络关键词优化软件
  • 网站开发接私单网站建设杭州
  • 百度站长平台网页版深圳网站建设公司官网
  • 私人做网站图片网络营销seo是什么意思
  • 做wap网站能火吗友情链接对网站的作用
  • 做搜狗手机网站长尾百度快照有什么用
  • 辽宁建设工程信息网官网新域名广州百度seo
  • 网站产品页排名怎么做谷歌推广运营
  • 网站制作做站长挣钱企业营销