【前言】

今天是刷题打卡第43天!

不好意思哈铁汁们,最近这几周要准备考试,博文更新的可能会不及时,但是一有时间笔者都会补上的哦,抱歉哈。

原题:满足条件的两数之和(双指针)

题目描述:

给定一个有序数组(数组是递增的),如数组arr = {1,4,5,7,9};找两个数之和为12,找到一组即可停止。

【方法一】:

很明显,本题采用暴力求解很简单,直接套用两层循环解决了,不过时间复杂度就得是O(N^2),这是非常低效的。 所以不可取!

暴力代码:

for (i = 0; i < n; i++)
{for (j = 1; j < n; j++){if (arr[i] + arr[j] == k){printf("%d %d\n", arr[i], arr[j]);}}
}

【方法二】:

本题已经是有序的数组了,所以我们可以采用“对撞的指针”来解决。

思路:

注意哦,本题中 i 和 j 不是无脑++,-- 的哦,有点类似于二分查找的感觉,不信你看。

代码执行:

#include<stdio.h>int main()
{int arr[] = { 1,4,5,7,9 };int sz = sizeof(arr) / sizeof(arr[0]);int k = 12;int i = 0;//i从头开始int j = sz - 1;//j从尾开始while (i < j){if (arr[i] + arr[j] < k){i++;}else if (arr[i] + arr[j] > k){j--;}else{printf("%d %d\n", arr[i], arr[j]);break;}}return 0;
}

结语

今天是刷题打卡第43天!

加油吧少年。

【手把手带你刷好题】—— 43.满足条件的两数之和(双指针、非力扣)相关推荐

  1. Leetcode python《热题 HOT 100》1. 两数之和

    Leetcode python 之 <热题 HOT 100>:https://leetcode-cn.com/problemset/hot-100/ 1. 两数之和 给定一个整数数组 nu ...

  2. 手把手带你刷好题(牛客刷题⑤)

    作者:月亮嚼成星~ 博客主页:月亮嚼成星~的博客主页 专栏:手把手带你刷牛客 工欲善其事必先利其器,给大家介绍一款超牛的斩获大厂offer利器--牛客网 点击免费注册和我一起刷题吧 1.类中的数据域使 ...

  3. 【手把手带你刷好题】—— 48.二叉树的层序遍历(BFS)

    [前言] 今天是刷题打卡第48天! 早成者未必有成,晚达者未必不达.一起都还来得及,加油哦. 原题: 二叉树的层序遍历(BFS) 原题链接:力扣 示例: 代码执行: class Solution { ...

  4. 鹏哥手把手带我刷好题 · 编程练习 · I

    大家好,我是安然无虞.  目录 在线OJ <1>.什么是在线OJ <2>.为什么训练在线OJ 1.实践出真知 2.我是大V 3.有容乃大 4.缩短二进制 5.反向输出一个四位数 ...

  5. 鹏哥手把手带我刷好题 · 编程练习 · II

    大家好,我是安然无虞. 目录 1.判断字母 2.字符圣诞树 3.ASCII码 4.出生日期的输入输出 5.2的n次方计算 6.按照格式输入并交换输出 7.字符转ASCII码 8.计算表达式的值 9.计 ...

  6. 【手把手带你刷好题】—— 34.求a+aa+aaa+aaaa+aaaaa之和(非初学者勿看)(作业、非力扣)

    [前言] 今天是刷题打卡第34天! 前两天比较忙,两天没有更新,不好意思哈老铁,今天全部补上! 原题:求a+aa+aaa+aaaa+aaaaa之和 题目描述: 求S = a + aa + aaa + ...

  7. 【手把手带你刷好题】——25.换酒问题(模拟、思维)

    [前言] 今天是刷题打卡第25天! 美好的一天从刷题开始,加油啦! 原题:换酒问题(模拟.思维) 题目描述: 小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒.你购入了 num ...

  8. 【手把手带你刷好题】67. 反转链表·深剖

    大家好,我是安然无虞. 文章目录 每篇前言 面试题:反转链表 解题思路1:翻指针方向 解题思路2:头插法 遇见安然遇见你,不负代码不负卿. 每篇前言 博客主页:安然无虞 作者认证:2021年博客新星T ...

  9. LeetCode第 3 场双周赛(2019.6.29)第一题:小于 K 的两数之和

    5021. 小于 K 的两数之和 给你一个整数数组 A 和一个整数 K,请在该数组中找出两个元素,使它们的和小于 K 但尽可能地接近 K,返回这两个元素的和. 如不存在这样的两个元素,请返回 -1. ...

最新文章

  1. LEMP+memcached
  2. WCF之服务实例管理
  3. 基于Java的四大开源测试工具
  4. Aasp.net前台调用后台cs变量
  5. ABAP-获取用户的组织结构权限
  6. 基于silerlight for embedd 视频播放器的之一的问题
  7. 系统消息发现有新的未读消息弹框提示
  8. flask-whooshalchemy需要注意的一点
  9. 面试题19:二叉树镜像
  10. 设计模式C++实现(2)——单例模式
  11. java 显示透明背景png图片
  12. php裁剪图片白边,php生成缩略图自动填充白边例子
  13. iZotope RX 9 Advanced for Mac - 高级音频修复软件
  14. TortoiseSVN的设置
  15. 格力可以考虑收购一个手机品牌
  16. 语音助手的涅槃关头,我们应该完全抛弃屏幕还是选择“语音+图形界面”?
  17. 2010年06期《程序员》配套源码及相关链接
  18. java jhat_java自带命令行工具jmap、jhat与jinfo的使用实例代码详解
  19. mysql的连接配置时区语句
  20. ubuntu安装qv2ray问题?

热门文章

  1. SQL进阶教程 | 史上最易懂SQL教程 5小时零基础成长SQL大师(4)
  2. PHP+Mysql服装商城 网上服装购物商城 基于PHP服装商城的系统设计与实现(3)用户注册
  3. 上饶多措并举落实 国稻种芯·中国水稻节:江西粮稳产丰收
  4. 【Android UI】Paint Gradient 渐变渲染 ① ( LinearGradient 线性渐变渲染 | 设置渲染方向 | 设置渲染颜色 | 设置渲染模式 | MIRROR )
  5. 故事向|在3A游戏公司工作多年的3D建模师自述,制作3A大作经验心得(下)
  6. burp改返回包(Burp Suite抓包使用步骤)
  7. 数学各个分支(借花献佛)——数论,拓扑,射影几何,常微分方程,非欧几何
  8. QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式...
  9. RSN Information Element介绍
  10. 玩转python网络爬虫黄永祥pdf下载_Python网络爬虫从入门到实践pdf