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

企业网站制作套餐重庆艺术字体设计

企业网站制作套餐,重庆艺术字体设计,广东省农业农村厅网站,搜索引擎官网53. 最大子数组和 给你一个整数数组 nums #xff0c;请你找出一个具有最大和的连续子数组#xff08;子数组最少包含一个元素#xff09;#xff0c;返回其最大和。 子数组是数组中的一个连续部分。 示例 1#xff1a; 输入#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输…53. 最大子数组和 给你一个整数数组 nums 请你找出一个具有最大和的连续子数组子数组最少包含一个元素返回其最大和。 子数组是数组中的一个连续部分。 示例 1 输入nums [-2,1,-3,4,-1,2,1,-5,4] 输出6 解释连续子数组 [4,-1,2,1] 的和最大为 6 。示例 2 输入nums [1] 输出1示例 3 输入nums [5,4,-1,7,8] 输出23提示 1 nums.length 10^5-10^4 nums[i] 10^4 **进阶**如果你已经实现复杂度为 O(n) 的解法尝试使用更为精妙的 分治法 求解。 int maxSubArray(vectorint nums) {int n nums.size();// i结尾最大子数组和vectorint dp(n);dp[0] nums[0];int ans dp[0];for (int i 1; i n; i) {dp[i] max(dp[i - 1] nums[i], nums[i]);ans max(ans, dp[i]);}return ans; }56. 合并区间 以数组 intervals 表示若干个区间的集合其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间并返回 一个不重叠的区间数组该数组需恰好覆盖输入中的所有区间 。 示例 1 输入intervals [[1,3],[2,6],[8,10],[15,18]] 输出[[1,6],[8,10],[15,18]] 解释区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2 输入intervals [[1,4],[4,5]] 输出[[1,5]] 解释区间 [1,4] 和 [4,5] 可被视为重叠区间。提示 1 intervals.length 10^4intervals[i].length 20 starti endi 10^4 vectorvectorint merge(vectorvectorint intervals) {sort(intervals.begin(), intervals.end());vectorvectorint ans;for (int i 0; i intervals.size(); i) {int left intervals[i][0], right intervals[i][1];if (ans.empty() || ans.back()[1] left) {ans.push_back({left, right});} else {ans.back()[1] max(ans.back()[1], right);}}return ans; }189. 轮转数组 给定一个整数数组 nums将数组中的元素向右轮转 k 个位置其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2,3,4]示例 2: 输入nums [-1,-100,3,99], k 2 输出[3,99,-1,-100] 解释: 向右轮转 1 步: [99,-1,-100,3] 向右轮转 2 步: [3,99,-1,-100]提示 1 nums.length 10^5-2^31 nums[i] 2^31 - 10 k 10^5 void rotate(vectorint nums, int k) {int n nums.size();k % n;reverse(nums, 0, n-1);reverse(nums, 0, k-1);reverse(nums, k, n-1); }void reverse(vectorint nums, int left, int right) {while (left right) {swap(nums[left], nums[right--]);} }238. 除自身以外数组的乘积 给你一个整数数组 nums返回 数组 answer 其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 **不要使用除法**且在 O(n) 时间复杂度内完成此题。 示例 1: 输入: nums [1,2,3,4] 输出: [24,12,8,6]示例 2: 输入: nums [-1,1,0,-3,3] 输出: [0,0,9,0,0]提示 2 nums.length 10^5-30 nums[i] 30保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内 **进阶**你可以在 O(1) 的额外空间复杂度内完成这个题目吗 出于对空间复杂度分析的目的输出数组 不被视为 额外空间。 与这题724. 寻找数组的中心下标类似。分别构建从前往后的乘积数组dp1以及从后往前的乘积数组dp2再初始化ans数组即可。 vectorint productExceptSelf(vectorint nums) {int n nums.size();vectorint dp1(n 1);dp1[0] 1;for (int i 1; i n; i)dp1[i] dp1[i - 1] * nums[i - 1];vectorint dp2(n 2);dp2[n 1] 1;for (int j n; j 0; --j)dp2[j] dp2[j 1] * nums[j - 1];vectorint ans(n);for (int i 0; i n; i)ans[i] dp1[i] * dp2[i 2];return ans; }在此基础上还可以优化空间复杂度先用ans作为从前往后的乘积数组dp1sum作为从后往前的乘积和再从后往前更新ans。 vectorint productExceptSelf(vectorint nums) {int n nums.size();vectorint ans(n);ans[0] 1;for (int i 1; i n; i)ans[i] ans[i - 1] * nums[i - 1];int sum 1;for (int i n - 1; i 0; --i) {ans[i] * sum;sum * nums[i];}return ans; }41. 缺失的第一个正数 给你一个未排序的整数数组 nums 请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1 输入nums [1,2,0] 输出3 解释范围 [1,2] 中的数字都在数组中。示例 2 输入nums [3,4,-1,1] 输出2 解释1 在数组中但 2 没有。示例 3 输入nums [7,8,9,11,12] 输出1 解释最小的正数 1 没有出现。提示 1 nums.length 105-231 nums[i] 231 - 1 哈希表时间复杂度On空间复杂度On int firstMissingPositive(vectorint nums) {unordered_setint hash;for (int num : nums) {hash.insert(num);}int ans 1;while (1) {if (!hash.count(ans)) {return ans;}ans;}return -1; }置换时间复杂度On空间复杂度O1 int firstMissingPositive(vectorint nums) {int n nums.size();for (int i 0; i n; i) {while (nums[i] 0 nums[i] n nums[nums[i]-1] ! nums[i]) {swap(nums[nums[i] - 1], nums[i]);}}for (int i 0; i n; i) {if (nums[i] ! i 1) {return i 1;}}return n 1; }
http://www.pierceye.com/news/741229/

相关文章:

  • 茂名营销网站开发浙江华洋建设有限公司网站
  • 服装网站建设都有哪些注册公司流程视频
  • 泉州网站建设的步骤wordpress 接收json
  • 西宁网站设计全屏网站模版
  • 网站建设代理平台中国建设银行网站首页 定投
  • 备案 网站内容电商网站充值消费系统
  • 上海闸北区网站建设广州市网站建设制作
  • 阜阳公司做网站余江区建设局网站
  • 南山网站设计方案网站开发的客户群体
  • 汕头市建设网站高端网站定制的案例
  • 深圳外贸网站设计公司郑州seo培训
  • 公司高端网站设计公司湖南竞网做网站好吗
  • 做微信的微网站费用黄冈论坛遗爱湖
  • 设计师用什么做网站河南程序开发公司
  • 路由器做服务器做网站怎么在百度发布免费广告
  • 惠州网站制作推广做响应式网站设计做图怎么搞
  • 天津高端网站设计公司美食网页设计图
  • 做柱状图饼状图好看的网站四川省住房和城乡建设厅证书
  • 网站建设公司模版wordpress自适应站点
  • 怎么在百度上创建网站wordpress时间轴页面
  • 网站建设公司济宁深圳互联网营销外包
  • 交互设计产品榆林网站seo
  • 唯品会网站开发招聘英文网站公司
  • 网站的推广一般有什么方式韩城网站建设韩城网站推广
  • 书城网站开发四川省建设厅网站投诉
  • 想要个网站沈阳网站备案
  • 网站建设分哪些类别谁有做爰网站号
  • 建设电子票务系统的网站需要多少钱网站开发一对一
  • 网站规划可以分成哪几步上海营销型网站制作
  • gta5 网站正在建设中新品发布会ppt