2022-4-7 Leetcode 735.行星碰撞
第一版,没有想到相向移动不会被撞
class Solution {public:vector<int> asteroidCollision(vector<int>& asteroids) {vector<int> ret;if(asteroids.empty())return ret;// ret.push_back(asteroids[0]);for(auto & i : asteroids){bool add = true;while(!ret.empty() && ret.back()*i < 0){if(abs(ret.back()) == abs(i)){ret.pop_back();add = false;break;//两败俱伤}else if(abs(ret.back()) < abs(i)){ret.pop_back();continue;//i还可以继续撞}else if(abs(ret.back()) > abs(i)){add = false;break;}}if(add)ret.push_back(i);}return ret;}
};
第二版,其实第一版大体思路没错,就是只有第一个向右,第二个向左这种情况会发生碰撞,其他都不会,要注意到这一点。
class Solution {public:vector<int> asteroidCollision(vector<int>& asteroids) {vector<int> ret;if(asteroids.empty())return ret;for(auto &i:asteroids){// if(ret.empty() || (ret.back() < 0 && i > 0) || (ret.back()*i > 0)){// ret.push_back(i);// }bool add = true;while(!ret.empty() && ret.back() > 0 && i < 0){if(abs(ret.back()) > abs(i)){add = false;break;}else if(abs(ret.back()) == abs(i)){add = false;ret.pop_back();break;}else if(abs(ret.back()) < abs(i)){ret.pop_back();continue;}}if(add)ret.push_back(i);}return ret;}
};
2022-4-7 Leetcode 735.行星碰撞相关推荐
- Java实现 LeetCode 735 行星碰撞(栈)
735. 行星碰撞 给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动).每一颗行星以相 ...
- LeetCode 735. 行星碰撞(栈)
1. 题目 给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动).每一颗行星以相同的速度 ...
- Leetcode 735. 行星碰撞
基本思路: 很简单.首先来一个辅助数组,最好是用栈,但是返回的结果不是数组么.所以直接用数组吧. 然后这么考虑: 从左往右遍历输入的数组,每遍历到一个值,若它能和辅助数组的最右边的行星发生碰 ...
- 【LeetCode】735. 行星碰撞
题目 735. 行星碰撞 难度中等342收藏分享切换为英文接收动态反馈 给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方 ...
- 【735. 行星碰撞】
来源:力扣(LeetCode) 描述: 给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移 ...
- Leetcode刷题记录 735. 行星碰撞
给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动).每一颗行星以相同的速度移动. 找出 ...
- 【每日一算法】行星碰撞
微信改版,加星标不迷路! 每日一算法-行星碰撞 给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表 ...
- JAVA基础算法练习(5):行星碰撞
------文章底部代码分享 一.题目 标题:行星碰撞 给定一个整数数组 asteroids,表示在同一行的行星.对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移 ...
- LeetCode.735 Asteriod Collision
题目: We are given an array asteroids of integers representing asteroids in a row. For each asteroid, ...
最新文章
- iOS中关于NSTimer使用知多少
- Web 服务器-Apache详解
- 约瑟夫环之循环链表实现
- CentOS下安装JDK7 转载
- 比特币拒绝第 340 次“被死亡”
- mysql从多个表查询数据类型_MySQL 之 多表查询
- 扩展指令集--指令参考说明
- ros开发语言python效率_Python 的开发效率真的比 Java高吗?
- 22Exchange Server 2010跨站点部署-邮件流测试及重定向
- Exchange企业实战技巧(18)日志规则应用之审计邮箱
- PyCharm中,如何成功 import caffe?
- java servlet大学生旅游网站的设计与开发源码
- ORCAD生成BOM单时不显示元器件封装
- 删除Windows中设备与驱动器下的多余图标
- 看aps高级排产如何实现生产计划智能排产
- 生产计划排产计划的模式有哪几种?
- 大数据练习环境部署(3) - Hadoop集群部署
- mk突变点检测_MK检验突变分析 matlab
- 启用数据空间:让VirtualBox虚拟机中的Ubuntu 10.10和XP主机互通有无
- Linux 内核/sys 文件系统介绍
热门文章
- 精益敏捷企业的七大核心能力和实施路线图
- “视频号”能撑起微博的野心吗?
- Regression testing minimization, selection and prioritization: a survey
- Mastercam2022程序单升级版
- HTML5 video标签禁止下载
- 高新技术企业科技成果转化解读!
- 《数据库系统原理》实验5:表数据的维护
- SAP 详细解析成本核算步骤
- 桁架机器人运动视频_空间桁架爬行机器人运动特性研究
- signal 6 (SIGABRT), code -6 (SI_TKILL) Abort message: ‘stack corruption detected (-fstack-protector