优选算法——双指针专题 3.快乐数 4.盛水最多的容器

优选算法——双指针专题 3.快乐数 4.盛水最多的容器

优选算法——双指针专题 3.快乐数 4.盛水最多的容器

一.快乐数

1.题目解析

[题目传送门](202. 快乐数 - 力扣(LeetCode))

在这里插入图片描述

2.原理解析

第一种情况:数最后变成1

在这里插入图片描述

第二种情况:无限循环但不是1

在这里插入图片描述

但两种都可以抽象成一种,有点像之前做过的带环链表

在这里插入图片描述

解法:快慢双指针

1.定义快慢指针

2.慢指针每次向后移动一步,快指针每次向后移动两步

3.判断相遇时候的值

3.代码实现

classSolution{public:intBitSum(int n)//返回每一位数上的平方和{int sum=0;while(n){int m=n%10; sum+=m*m; n=n/10;}return sum;}boolisHappy(int n){int slow=n,fast=BitSum(n);while(slow!=fast){ slow=BitSum(slow); fast=BitSum(BitSum(fast));}return slow==1;}};

二.盛水最多的容器

[题目传送门](11. 盛最多水的容器 - 力扣(LeetCode))

1.题目解析

在这里插入图片描述

2.原理解析

解法一:暴力枚举

时间复杂度O(N^2) 会超时

解法二:利用单调性,使用双指针

在这里插入图片描述

在这一组数中拿出一个区间 6,2,5,4

我们先用最两边的数算一个容积,然后小的那个固定住(也就是4) ,向内枚举

如果遇到比它小的数(也就是2),高度跟宽度都减小,v减小

如果遇到比它大的数(也就是5),高度不变(还是4),宽度减小,v减小

所以我们可以直接舍去小的那一个,在研究下一个区间

3.代码实现

classSolution{public:intmaxArea(vector<int>& height){int left=0,right=height.size()-1,ret=0;while(left!=right){int v=min(height[left],height[right])*(right-left); ret=max(ret,v);if(height[left]<height[right]) left++;else right--;}return ret;}};

Read more

SQLyog ultimate 13.1.1版本,附注册码

sqlyog 13.1.1 旗舰版 链接: https://pan.baidu.com/s/1RaVfXuHip18oTIS1VmHmuQ?pwd=ucvb  提取码: ucvb  sqlyog 12.0.8.0 旗舰版 链接: https://pan.baidu.com/s/1nEcRBZOD4YEwSDlWJsueww?pwd=shnr  提取码: shnr  13的版本12的版本安装步骤相同,以13.1.1的版本为例 安装 64位电脑选择x64.exe,32位电脑选择x86.exe,双击执行 默认是简体中文,不用修改,点击ok,然后再点击下一步 接受许可点击下一步,然后再下一步,进入选择安装目录的环节

By Ne0inhk
阿里开源Qwen3.5:混合线性注意力让推理速度提升19倍,这个架构选择值得深挖.md

阿里开源Qwen3.5:混合线性注意力让推理速度提升19倍,这个架构选择值得深挖.md

文章目录 * 1、前言 * 2、Qwen3.5 是什么 * 2.1 一句话定位 * 2.2 与 Qwen3 的关键区别 * 2.3 发布时间线 * 3、快速上手 * 3.1 API 调用(阿里云百炼) * 3.2 开源版本部署 * 3.3 推荐采样参数 * 4、五大核心特性详解 * 4.1 混合注意力架构:线性 + 全注意力 3:1 * 4.2 原生多模态:不再是"插件" * 4.3 百万

By Ne0inhk
告别SQL性能焦虑:国产数据库“连接条件下推”的性能魔法

告别SQL性能焦虑:国产数据库“连接条件下推”的性能魔法

文章目录 * 一、 为什么你的复杂SQL会“爆内存”?—— 深度剖析现代SQL的性能陷阱 * 二、 金仓的解决方案:“智能下推”策略 —— 先判定,再评估 * 三、 效果:数字会说话,性能提升超千倍 * 四、 技术深度剖析:连接条件下推的实现原理 * **未来展望** 你是否遇到过这样的场景:一个看似逻辑清晰的复杂SQL,在测试环境运行飞快,一到生产环境就“卡死”,甚至直接爆出内存溢出?排查时发现,执行计划中生成了一个巨大的中间结果集,导致后续的排序、连接操作全部陷入性能泥潭。如果这是你日常工作中的常态,那么,是时候认识一项能够改变游戏规则的技术——金仓数据库(KingbaseES)的「基于代价的连接条件下推」。它不仅仅是一项简单的优化技巧,更是应对复杂业务查询的“性能终结者”,将数据库优化器的智能化提升到了一个新的高度。 一、 为什么你的复杂SQL会“爆内存”?—— 深度剖析现代SQL的性能陷阱 在金融、政务、电信等企业级核心系统中,业务逻辑往往极其复杂。为了代码的可读性和维护性,开发人员倾向于使用多层嵌套子查询、

By Ne0inhk