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

豆包 LeetCode 3782. 交替删除操作后最后剩下的整数 TypeScript实现

TypeScript / JavaScript 实现 LeetCode 3782 lastInteger

题意回顾

初始数组 [1,2,3,...,n] ,交替执行删除:

1. 第一轮:从左删,隔一删一(保留奇数位置)
2. 第二轮:从右删,隔一删一
循环直到只剩一个数,返回结果
数据极大(1e15),不能模拟数组,用迭代 O(logn) 最优解法

迭代 O(logn) 版本(无递归,大数安全)

typescript
function lastInteger(n: number): number {
let start = 1;
let end = n;
let step = 1;
let remain = n;

while (remain > 1) {
// 从左侧删除一轮
if (remain % 2 === 1) {
end -= step;
}
// 切换为从右侧删:翻转区间,步长取反翻倍
[start, end] = [end, start];
step *= -2;
remain = Math.floor((remain + 1) / 2);
}
return start;
}


递归简洁版(逻辑直观,n极大时栈深很小)AC

typescript
function lastInteger(n: number): number {
if (n === 1) return 1;
const m = Math.floor((n + 1) / 2);
return 2 * (m + 1 - lastInteger(m)) - 1;
}


JS 原生版本(去掉类型标注,浏览器/Node直接运行)

javascript
function lastInteger(n) {
let start = 1, end = n, step = 1, remain = n;
while (remain > 1) {
if (remain % 2 === 1) end -= step;
[start, end] = [end, start];
step *= -2;
remain = (remain + 1) >> 1;
}
return start;
}


测试样例

typescript
console.log(lastInteger(1)); // 1
console.log(lastInteger(5)); // 1
console.log(lastInteger(8)); // 3


复杂度

- 时间:O(\log n),每次数量折半
- 空间:迭代版 O(1),递归版 O(\log n)

http://www.jsqmd.com/news/1293519/

相关文章:

  • C语言关键字深度解析:从内存模型到编程实践
  • 2026惠州团建机构口碑排名解析:靠谱团建公司怎么选? - 友人团建
  • 衡水玻璃钢环保设备怎么选?从电缆桥架到一体化泵站,看清性能指标、供应链和交付边界 - 中国品牌企业观察网
  • AI辅助学术写作:工具协同与质量控制实践
  • 命运由自己掌权,不由天来定轨迹。
  • 退役军人报成人高考能享受什么政策?2026年专项解读 - 最新政策解读
  • ARCore增强图像识别开发指南:从原理到Unity实战
  • 【计算机毕业设计单片机案例】基于 STM32F103 的多功能电子密码锁设计 基于 OLED 人机交互的单片机密码锁开发(012501)
  • 亚马逊批量图片翻译与视频字幕工具,跨境电商高效助手
  • 国自然申请冲刺指南:30天高效优化策略
  • Simulink数据字典:从变量管理到团队协作的工程化实践
  • KMS智能激活方案:开源工具的完整实战指南
  • FTP协议模式选择与网络适配实战指南
  • Snort规则实战:从HTTP入侵到特权登录的检测与防御
  • 可调UV宽光谱高功率的LED太阳能模拟器
  • AMD Ryzen硬件调试终极指南:SMUDebugTool深度调优实战
  • 高效刷题方法论:从题库筛选到错题分析
  • AI内容识别率降低方案实测与优化指南
  • 2026年8月大理非急救救护车转运指南:养老机构转移如何安排 - 小校长
  • 游戏党狂喜!这款免费远控连连控手感零延迟
  • 2026年陕西成考报名材料清单:少一样都报不上 - 最新政策解读
  • zteOnu:解锁中兴光猫工厂模式的终极技术指南
  • STM32 CAN总线通信原理与实战:从半双工本质到多主仲裁配置
  • vibe coding | 如何做一个AI漫剧制作网站?
  • 为什么92%的AI批处理脚本无法上线?资深SRE披露4大致命缺陷+可落地的6层人工审核清单(含Checklist下载链接)
  • 2026 年至今,神农架优秀的Q310NQL2定做厂家深度剖析,别再盲目买高端显示设备,这款能帮你省下大几千的它,到底藏了啥惊喜? - 实业推荐官【官方】
  • 原生 PHP vs 框架开发:小型项目到底怎么选?
  • Java面试技巧:JVM原理与实战调优解析
  • 电力系统碳排放流计算原理与MATLAB实现
  • Simulink中T型三电平逆变器建模与载波PWM仿真全解析