news 2026/9/3 20:12:00

实习刷题18

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实习刷题18

今天再摆一次吧,嘿嘿嘿

一:乘积最大子数组

class Solution { public: int maxProduct(vector<int>& nums) { int n = nums.size(); int pre_min = 1; int pre_max = 1; int max = INT_MIN; for(int i = 0 ; i < n ; ++i) { int curr_min = std::min(nums[i],std::min(pre_min*nums[i],pre_max*nums[i])); int curr_max = std::max(nums[i],std::max(pre_max*nums[i],pre_min*nums[i])); pre_max = curr_max; pre_min = curr_min; max = std::max(max,curr_max); } return max; } };

二:分割和等子集

class Solution { public: bool canPartition(vector<int>& nums) { int sum = std::accumulate(nums.begin() , nums.end(),0); if(!sum || sum % 2) { return false; } int target = sum / 2; std::vector<int> dp(target+1); dp[0] = 1; for(auto& num : nums) { for(int i = target ; i >= num ; --i) { if(dp[i - num]) { dp[i] = 1; } if(dp[target]) { return true; } } } return false; } };

三:最长有效括号

class Solution { public: int longestValidParentheses(string s) { int n = s.size(); if(n <= 1) { return 0; } std::stack<int> stk; stk.push(-1); int max = 0; for(int i = 0 ; i < n ; ++i) { if(s[i] == ')') { if(stk.top() == -1 || s[stk.top()] != '(') { while(stk.size()) { stk.pop(); } } else if(s[stk.top()] == '(') { stk.pop(); max = std::max(max,i-stk.top()); continue; } } stk.push(i); } return max; } };

四:不同路径

class Solution { public: int uniquePaths(int m, int n) { if(!m || !n) { return 0; } std::vector<std::vector<int>> dp(n,std::vector<int>(m)); for(int i = 0 ; i < n ; ++i) { for(int j = 0 ; j < m ; ++j) { if(!i && !j) { dp[i][j] = 1; } else if(!i || !j) { if(!i) { dp[0][j] = 1; } else { dp[i][0] = 1; } } else { dp[i][j] = dp[i-1][j] + dp[i][j-1]; } } } return dp[n-1][m-1]; } };

五:完全平方数

class Solution { public: int numSquares(int n) { std::vector<int> dp(n+1,n+1); dp[0] = 0; for(int i = 1 ; i <= n ; ++i) { for(int j = 1; j*j <= i ; ++j) { dp[i] = std::min(dp[i],dp[i-j*j]+1); } } return dp[n]; } };

六:只出现一次的数字

class Solution { public: int singleNumber(vector<int>& nums) { int ret = 0; for(auto&num : nums) { ret ^= num; } return ret; } };

七:多数元素

class Solution { public: int majorityElement(vector<int>& nums) { int ret = 0; int max = 0; for(auto& num : nums) { if(ret != num) { if(max == 0) { ret = num; max = 1; } else { --max; } } else { ++max; } } return ret; } };

八:颜色分类

class Solution { public: void sortColors(vector<int>& nums) { int n = nums.size(); int zero = 0; int one = 0; for(int i = 0 ; i < n ; ++i) { if(nums[i] == 0) { std::swap(nums[zero],nums[i]); if(one > zero) { std::swap(nums[one],nums[i]); } ++zero; ++one; } else if(nums[i] == 1) { std::swap(nums[i],nums[one]); ++one; } } } };

九:寻找重复数

class Solution { public: int findDuplicate(vector<int>& nums) { int fast = 0; int slow = 0; while(true) { fast = nums[nums[fast]]; slow = nums[slow]; if(fast == slow) { fast = 0; while(fast != slow) { fast = nums[fast]; slow = nums[slow]; } return fast; } } return 0; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 1:46:00

城市仿真软件:UrbanSim_(6).城市交通仿真在UrbanSim中的实现

城市交通仿真在UrbanSim中的实现 在上一节中&#xff0c;我们讨论了如何使用UrbanSim进行城市人口和土地使用的仿真。本节将重点介绍城市交通仿真在UrbanSim中的实现。城市交通仿真是一项复杂的任务&#xff0c;涉及多个方面的数据和模型&#xff0c;包括交通网络、车辆类型、出…

作者头像 李华
网站建设 2026/9/3 19:12:10

城市仿真软件:UrbanSim_(6).空间分析与地理信息系统集成

空间分析与地理信息系统集成 在城市仿真软件中&#xff0c;空间分析与地理信息系统&#xff08;GIS&#xff09;的集成是至关重要的。空间分析可以帮助我们更好地理解和预测城市的发展动态&#xff0c;而GIS则提供了强大的数据管理和可视化工具。通过将这两者结合起来&#xff…

作者头像 李华
网站建设 2026/9/3 1:45:38

【课程设计/毕业设计】基于springboot的在线招聘平台设计与实现基于We的Job招聘网站人才招聘网站管理系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/9/3 1:46:39

Thinkphp_Laravel框架开发的vue植物园性毒源成分管理系统_y2201

目录 具体实现截图项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;带文档1万字以上 同行可拿货,招校园代理 Thinkphp_Laravel框架开发的vue植物园性毒源成分管理系统_y2…

作者头像 李华
网站建设 2026/9/3 1:46:13

【计算机毕业设计案例】基于springboot的大学生英语学习平台基于Springboot的在线英语阅读平台的设计与实现(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/8/29 0:24:02

GitHub Actions自动化测试PyTorch项目,集成CUDA环境

GitHub Actions自动化测试PyTorch项目&#xff0c;集成CUDA环境 在深度学习项目开发中&#xff0c;一个常见的痛点是&#xff1a;如何确保代码在不同环境中都能稳定运行&#xff1f;尤其是当你的模型依赖GPU加速时&#xff0c;本地能跑通的代码到了CI流水线却频频报错——可能是…

作者头像 李华