1 Star 0 Fork 0

手捧向日葵的花语/力扣题集

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
2024_9_21.cpp 1.70 KB
一键复制 编辑 原始数据 按行查看 历史
手捧向日葵的花语 提交于 2024-09-21 23:05 . 2024_9_21
https://leetcode.cn/problems/reverse-integer/
整数反转
class Solution {
public:
int reverse(int x) {
string str = to_string(x);
int left = str[0] == '-' ? 1 : 0;
int right = str.size()-1;
while(left < right)
{
swap(str[left],str[right]);
left++;
right--;
}
long long t = stoll(str); // 转化为long long 判断是否溢出
if(t > INT_MAX || t < INT_MIN)
{
return 0;
}
return static_cast<int>(t);
}
};
-----------------------------------------------------------------------
https://leetcode.cn/problems/jump-game-ii/
跳跃游戏
// class Solution {
// public:
// int jump(vector<int>& nums) {
// int ans = 0;
// int start = 0;
// int end = 1; // 最远距离区间为左闭右开
// while(end < nums.size())
// {
// int max_pos = 0;//记录能跳到的最远距离
// for(int i = start; i < end; ++i) // 作为起始点的区间
// {
// max_pos = max(max_pos,i+nums[i]);
// }
// start = end;
// end = max_pos+1;
// ans++;
// }
// return ans;
// }
// };
//优化
class Solution {
public:
int jump(vector<int>& nums) {
int ans = 0;
int end = 0;
int max_pos = 0;
for(int i = 0; i < nums.size()-1; ++i)
{
max_pos = max(max_pos,i+nums[i]);
if(i == end) //每次到达起跳区间的结束位置,就要更新下一个结束位置
{
end = max_pos;
ans++;
}
}
return ans;
}
};
-----------------------------------------------------------------------
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/a-chao-must-work-hard/li-kou-question-set.git
git@gitee.com:a-chao-must-work-hard/li-kou-question-set.git
a-chao-must-work-hard
li-kou-question-set
力扣题集
master

搜索帮助