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

【优先算法】双指针 --(结合例题讲解解题思路)(C++)

今日鸡汤: 

“无人负我青云志,我自踏雪至山巅。” -徐霞客《青云志》

释义:没有人能够帮助我实现我的理想,即使面对再大的困难,我也要踏着积雪,一步步,到达山巅。

目录

1.快乐数

2.盛最多的水 


双指针,是解题的一种工具方法,但是运用作用很多,且不同,不是说,双指针在每种题类型作用都一样,所以能灵活使用算法的前提,就是你的题量够多,好了,接下来,我们来看到今天的道题。

1.快乐数

题目:

解题思路:

后续,我将每个 数  各位平方相加这个操作,统称为f操作,这样方便叙述!

重点所有数,进行一系列的f操作,一定会形成一个闭环,会有一个数与前面的数相同,然后进行f操作会形成一个闭环开始循环。 

证明如下:

例子1:

 例子2:

 看到这里,就会想起,在数据结构中学到的环形链表,这样就不难想到,快慢指针。

指针slow和fast,他们终会在环内某点相遇,如果是快乐数,那他环内数都为1,则无论哪点相遇其值都为1.

所以判断快乐数的准则是,slow==fast时,其点值为1

代码如下:

2.盛最多的水 

题目:

 解题思路:

代码如下:

http://www.lryc.cn/news/512097.html

相关文章:

  • 简述css中z-index的作用?如何用定位使用?
  • Redis——数据淘汰策略
  • 机器学习之KNN算法预测数据和数据可视化
  • 前端node.js
  • Excel基础知识
  • Spring Boot对访问密钥加密解密——RSA
  • Vue介绍
  • 表单元素(标签)有哪些?
  • 人工智能与云计算的结合:如何释放数据的无限潜力?
  • TCP Analysis Flags 之 TCP Out-Of-Order
  • 【MyBatis 核心工作机制】注解式开发与动态代理原理
  • 深度学习在图像识别中的最新进展与实践案例
  • vue3中如何自定义插件
  • 【机器学习】回归
  • Maven项目中不修改 pom.xml 状况下直接运行OpenRewrite的配方
  • 【翻译】Sora 系统卡-12月9日
  • 如何在 Spring Boot 微服务中设置和管理多个数据库
  • Ubuntu20.04安装Foxit Reader 福昕阅读器
  • 学习threejs,THREE.CircleGeometry 二维平面圆形几何体
  • Tonghttpserver6.0.1.3 使用整理(by lqw)
  • redis开发与运维-redis0401-补充-redis流水线与Jedis执行流水线
  • OPPO Java面试题及参考答案
  • Ubuntu 22.04 升级 24.04 问题记录
  • Java重要面试名词整理(五):Redis
  • 单元测试中创建多个线程测试 ThreadLocal
  • iDP3复现代码数据预处理全流程(二)——vis_dataset.py
  • 容器化部署服务全流程
  • Flutter DragTarget拖拽控件详解
  • 操作系统动态分区分配算法-首次适应算法c语言实现
  • mybatis-plus自动填充时间的配置类实现