news 2026/6/15 16:39:01

实习刷题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/6/15 15:30:30

Jupyter Lab扩展安装指南:增强PyTorch开发体验

Jupyter Lab扩展安装指南&#xff1a;增强PyTorch开发体验 在深度学习项目中&#xff0c;一个流畅、高效的开发环境往往能决定实验迭代的速度。你有没有经历过这样的场景&#xff1a;刚写完一段PyTorch模型代码&#xff0c;却因为缺少自动补全而反复查文档&#xff1f;或者训练…

作者头像 李华
网站建设 2026/6/15 10:44:47

城市仿真软件:UrbanSim_(1).UrbanSim概述与应用领域

UrbanSim概述与应用领域 1. UrbanSim简介 UrbanSim 是一种先进的城市仿真软件&#xff0c;用于模拟和预测城市的发展和变化。它结合了多智能体系统&#xff08;Multi-Agent System, MAS&#xff09;、微观仿真&#xff08;Microsimulation&#xff09;和地理信息系统&#xff0…

作者头像 李华
网站建设 2026/6/15 10:36:58

Java计算机毕设之基于springboot的宾馆客房管理系统Springboot+vue宾馆酒店客房管理系统(完整前后端代码+说明文档+LW,调试定制等)

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

作者头像 李华
网站建设 2026/6/15 10:40:04

探索三相离网逆变器的 VSG 控制

三相离网逆变器&#xff0c;VSG控制。 离网逆变器VSG控制算法&#xff0c;有功-频率控制&#xff0c;无功-电压控制。 电压波形质量良好&#xff0c;附带参考文献在电力电子领域&#xff0c;三相离网逆变器的 VSG&#xff08;虚拟同步发电机&#xff09;控制技术正逐渐崭露头角…

作者头像 李华
网站建设 2026/6/15 10:42:57

新能源开发利器:开源 VCU 控制器,一文全解析

vcu 控制器 新能源开发人员必备 含应用层代码&#xff0c;底层代码&#xff0c;原理图&#xff0c; pcb &#xff0c;通信协议&#xff0c;控制策略&#xff0c;全部开源。 文档资料几个 g在新能源领域摸爬滚打&#xff0c;要是不知道 VCU 控制器&#xff0c;那可真有点说不过去…

作者头像 李华