芝士算法(双指针篇 1.0)

这是个算法

对的对的

这里只会有 煮啵所完成的算法题的记录

愿对你有帮助 )

目录

移动零

复写零

快乐数

盛最多水的容器


移动零

移动零

for(int cur = 0, dest = -1 ; cur < nums.length;cur++){

if(numscur != 0){

dest++;

int tmp = numscur;

tmp = numsdest ;

numsdest = numscur;

numscur = tmp;

}

}

复写零

复写零

int cur = 0 ;

int dest = -1;

int n = arr.length;

//1.找到要复写的数

while(cur < n){

if(arrcur != 0){

dest++;

}else{

dest+=2;

}

if(dest >= n -1 )

break;

cur++;

}

//2.dest越界 处理边界

if(dest == n){

arrn - 1 = 0;

cur --;

dest -= 2;

}

//3.开始复写操作

while(cur != -1){

if(arrcur != 0){

arrdest-- = arrcur--;

}else{

arrdest -- = 0;

arrdest -- = 0;

cur--;

}

}

快乐数

快乐数

public int getNum(int n){

int sum = 0;

while(n != 0){

int n1 = n%10;

sum += n1 *n1;

n = n / 10;

}

return sum;

}

int slow = n;

int fast = getNum(n);

while(slow != fast){

slow = getNum(slow);

fast =getNum(getNum(fast)) ;

}

// if(slow == 1)

// return true;

// return false;

return slow == 1;

盛最多水的容器

盛最多水的容器

int left = 0;

int right = height.length - 1;

int ret = 0;

while(left != right){

int v = Math.min(heightleft,heightright) * (right - left);

ret = Math.max(ret,v);

if(heightright < heightleft)

right--;

else

left++;

}

return ret;

相关推荐
玖釉-6 小时前
编辑距离(Edit Distance)——从字符串相似度到动态规划经典模型
算法·leetcode·动态规划
IT利刃出鞘6 小时前
Java多线程--三种写法(Thread、Runnable、Callable)
java·多线程
上海曼博生物医药科技有限公司6 小时前
NAMs新方法学迎来重要进展:CN Bio、InSphero加入C-Path联盟推动器官芯片与类器官标准化应用
学习方法·类器官·药物研发·器官芯片·nams·c-path·体外模型
c238566 小时前
c/c++中的二叉树进阶
c语言·c++·算法
两年半的个人练习生^_^7 小时前
JMM 进阶:彻底理解 volatile 实现原理
java·开发语言
吴可可1237 小时前
Win7下C#开发AutoCAD首选版本
算法
Yeats_Liao7 小时前
Java网络编程(五):Selector选择器与高并发实现
java·后端·架构
AC赳赳老秦7 小时前
OpenClaw任务复盘自动化:统计每日完成工作、遗留问题,优化工作节奏
java·大数据·linux·运维·服务器·数据库·openclaw
兰令水7 小时前
leecodecode【层序遍历】【2026.6.3打卡-java版本】
java·开发语言
Halo_tjn7 小时前
反射与设计模式2
java·开发语言·算法