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

美食网站策划书范文frontpage官方下载

美食网站策划书范文,frontpage官方下载,营销策划方案目录,苏州网站建设网站制作的公司文章目录1. 比赛结果2. 题目1. LeetCode 5392. 分割字符串的最大得分 easy2. LeetCode 5393. 可获得的最大点数 medium3. LeetCode 5394. 对角线遍历 II medium4. LeetCode 5180. 带限制的子序列和 hard1. 比赛结果 做出来了 1、2 题#xff0c;第3题模拟法#xff0c;超时第3题模拟法超时第4题不会继续加油 全国排名1060 / 310734.1%全球排名4145 / 1168735.5% 2. 题目 1. LeetCode 5392. 分割字符串的最大得分 easy 题目链接 给你一个由若干 0 和 1 组成的字符串 s 请你计算并返回将该字符串分割成两个 非空 子字符串即 左 子字符串和 右 子字符串所能获得的最大得分。 「分割字符串的得分」为 左 子字符串中 0 的数量加上 右 子字符串中 1 的数量。 示例 1 输入s 011101 输出5 解释 将字符串 s 划分为两个非空子字符串的可行方案有 左子字符串 0 且 右子字符串 11101得分 1 4 5 左子字符串 01 且 右子字符串 1101得分 1 3 4 左子字符串 011 且 右子字符串 101得分 1 2 3 左子字符串 0111 且 右子字符串 01得分 1 1 2 左子字符串 01110 且 右子字符串 1得分 2 1 3示例 2 输入s 00111 输出5 解释当 左子字符串 00 且 右子字符串 111 时 我们得到最大得分 2 3 5示例 3 输入s 1111 输出3提示 2 s.length 500 字符串 s 仅由字符 0 和 1 组成。解答 左右两边前缀0后缀1一次遍历即可 比赛的时候写的有点繁琐 class Solution { public:int maxScore(string s) {vectorint left0(2*s.size()-1,0);vectorint right1(2*s.size()-1,0);int i, n s.size();left0[0] s[0]0 ? 1 : 0;for(i 1; i n; i)left0[2*i] s[i]0? left0[2*i-2]1 : left0[2*i-2];right1[2*n-2] s[n-1]1 ? 1 : 0;for(i n-2; i 0; --i)right1[2*i] s[i]1? right1[2*i2]1 : right1[2*i2];int maxsc 0;for(i 1; i 2*n-2; i2)maxsc max(maxsc, left0[i-1]right1[i1]);return maxsc;} };4 ms 6.9 MB 赛后解 class Solution { public:int maxScore(string s) {int i, one 0, maxs 0, zero 0;for(i 0; i s.size(); i){if(s[i]1)one;}for(i 0; i s.size()-1; i){if(s[i]0)zero;elseone--;maxs max(maxs,zeroone);}return maxs;} };0 ms 6.4 MB 2. LeetCode 5393. 可获得的最大点数 medium 题目链接 几张卡牌 排成一行每张卡牌都有一个对应的点数。 点数由整数数组 cardPoints 给出。 每次行动你可以从行的开头或者末尾拿一张卡牌最终你必须正好拿 k 张卡牌。 你的点数就是你拿到手中的所有卡牌的点数之和。 给你一个整数数组 cardPoints 和整数 k请你返回可以获得的最大点数。 示例 1 输入cardPoints [1,2,3,4,5,6,1], k 3 输出12 解释第一次行动不管拿哪张牌你的点数总是 1 。 但是先拿最右边的卡牌将会最大化你的可获得点数。 最优策略是拿右边的三张牌最终点数为 1 6 5 12 。示例 2 输入cardPoints [2,2,2], k 2 输出4 解释无论你拿起哪两张卡牌可获得的点数总是 4 。示例 3 输入cardPoints [9,7,7,9,7,7,9], k 7 输出55 解释你必须拿起所有卡牌可以获得的点数为所有卡牌的点数之和。示例 4 输入cardPoints [1,1000,1], k 1 输出1 解释你无法拿到中间那张卡牌所以可以获得的最大点数为 1 。 示例 5 输入cardPoints [1,79,80,1,1,1,200,1], k 3 输出202提示 1 cardPoints.length 10^5 1 cardPoints[i] 10^4 1 k cardPoints.length解答 比赛的时候差点被坑以为是DP一想左右各取ab个ab k 不就完了吗 也可以反过来想求中间子序和最小滑动窗口 class Solution { public:int maxScore(vectorint cardPoints, int k) {vectorint l(k2,0);vectorint r(k2,0);int len 1, i;for(i 0; i k; i,len)l[len] cardPoints[i]l[len-1];len 1;for(i cardPoints.size()-1; len k; --i,len)r[len] cardPoints[i]r[len-1];int maxScore 0;for(len 0; len k; len)maxScore max(maxScore, l[len]r[k-len]);return maxScore;} };148 ms 44.2 MB 3. LeetCode 5394. 对角线遍历 II medium 题目链接 给你一个列表 nums 里面每一个元素都是一个整数列表。 请你依照下面各图的规则按顺序返回 nums 中对角线上的整数。 示例 1 输入nums [[1,2,3],[4,5,6],[7,8,9]] 输出[1,4,2,7,5,3,8,6,9]示例 2 输入nums [[1,2,3,4,5],[6,7],[8],[9,10,11],[12,13,14,15,16]] 输出[1,6,2,8,7,3,9,4,12,10,5,13,11,14,15,16]示例 3 输入nums [[1,2,3],[4],[5,6,7],[8],[9,10,11]] 输出[1,4,2,5,3,8,6,9,7,10,11]示例 4 输入nums [[1,2,3,4,5,6]] 输出[1,2,3,4,5,6]提示 1 nums.length 10^5 1 nums[i].length 10^5 1 nums[i][j] 10^9 nums 中最多有 10^5 个数字。比赛模拟写法超时 class Solution { public:vectorint findDiagonalOrder(vectorvectorint nums) {vectorint ans;int i 0, j 0, count 0, c 0, x, y, m nums.size(),n0, finishi -1;vectorint precount(nums.size(),0);for(i 0; i m; i){count nums[i].size();//总个数n max(n, int(nums[i].size()));//列最大个数}x y i j 0;while(c count){i x, j y;//x,y起始位置while(i0 jn ccount){if(j nums[i].size())//在范围内{ans.push_back(nums[i][j]);c;//计数1precount[i];//该行写入答案数量1if(precount[i]nums[i].size())//这行写完了{if(precount[finishi1] nums[finishi1].size())finishi;//检查已完成的行能不能往下挪}}i--;j;if(i finishi)break;}x;if(x m){x m-1;y;}}return ans;} };赛后解1依然超时 实际上是按点的位置r,c排序总的是rc小的靠前一样的话r 大的靠前。 class Solution { public:vectorint findDiagonalOrder(vectorvectorint nums) {int i, j;vectorvectorint v; //posxposy, posx, valfor(i 0; i nums.size(); i){for(j 0; j nums[i].size(); j){v.push_back({ij, i, nums[i][j]});}}sort(v.begin(), v.end(),[](auto a, auto b){if(a[0]b[0])return a[1] b[1];return a[0] b[0];});vectorint ans(v.size());i 0;for(auto vi : v)ans[i] vi[2];return ans;} };估计是排序时间复杂度还是太高。 赛后解2 按照两个坐标值的和分组存入map内层再嵌套mapxval外层顺序遍历坐标和小的先内层逆序遍历x大的先 class Solution { public:vectorint findDiagonalOrder(vectorvectorint nums) {int i, j, size 0;mapint,mapint,int m;//posxposy, posx, valfor(i 0; i nums.size(); i){for(j 0; j nums[i].size(); j){m[ij][i] nums[i][j];size;}}vectorint ans(size);i 0;for(auto it m.begin(); it ! m.end(); it){for(auto it1 it-second.rbegin(); it1 ! it-second.rend(); it1)ans[i] it1-second;}return ans;} };或者用数组做参考lc题解也是按坐标和分组每组里面逆序写入答案。 4. LeetCode 5180. 带限制的子序列和 hard 题目链接 给你一个整数数组 nums 和一个整数 k 请你返回 非空 子序列元素和的最大值 子序列需要满足子序列中每两个 相邻 的整数 nums[i] 和 nums[j] 它们在原数组中的下标 i 和 j 满足 i j 且 j - i k 。 数组的子序列定义为将数组中的若干个数字删除可以删除 0 个数字剩下的数字按照原本的顺序排布。 示例 1 输入nums [10,2,-10,5,20], k 2 输出37 解释子序列为 [10, 2, 5, 20] 。示例 2 输入nums [-1,-2,-3], k 1 输出-1 解释子序列必须是非空的所以我们选择最大的数字。示例 3 输入nums [10,-2,-10,-5,20], k 2 输出23 解释子序列为 [10, -2, -5, 20] 。提示 1 k nums.length 10^5 -10^4 nums[i] 10^4解答 此题跟 LeetCode 239. 滑动窗口最大值双端队列单调栈 非常类似可以先看这题 dp[i] 表示包含 i 位置的 最大子序和 deque 里面保持递减状态dp值递减实际存储下标距离超过 k 的从队头出去 队头最大的0则 dp[i] dp[q.front()]nums[i]否则dp[i] nums[i] 然后检查 dp[i] 要入队队内是否单调递减不满足要pop_back() class Solution { public:int constrainedSubsetSum(vectorint nums, int k) {int i, n nums.size(), maxsum INT_MIN;vectorint dp(n, 0);dp[0] nums[0];maxsum nums[0];dequeint q;q.push_back(0);for(i 1; i n; i) {if(i-q.front() k)//距离超过k了q.pop_front();if(dp[q.front()] 0)//最大的大于0可以变大dp[i] dp[q.front()]nums[i];else//不能变大自己就是自己dp[i] nums[i];maxsum max(maxsum,dp[i]);//更新最大值while(!q.empty() dp[i] dp[q.back()])q.pop_back();//不满足单点递减pop_backq.push_back(i);}return maxsum;} };112 ms 14.7 MB
http://www.zqtcl.cn/news/923861/

相关文章:

  • 医疗机械网站怎么做什么是o2o电商模式
  • 北京微网站建设设计服务营销导向的企业网站建设步骤
  • 网站 301网站设计评价标准
  • 网站页面设计规范大连装修公司哪家好
  • 祁东网站建设微信公众号做的网站
  • 火山开发软件可以开发网站吗盐城代运营
  • 网页制作与网站建设从入门到精通民宿客栈网站制作
  • 如何写手机适配网站自己做的网站能上传到凡科吗
  • 建设公司网站开发方案seo优化工具的种类
  • 没备案的网站怎么做淘客企业做网站服务费
  • 网址站点异常怎么解决机关单位建设网站 说明
  • 阿虎手机站青岛关键词排名系统
  • 西安网站建设聚星互联网站成功案例
  • 山东鲁为建设集团网站百度的合作网站有哪些
  • 电子商务网站建设与管理程序设计题6哪家微网站做的好
  • 网站建设图文片平面网页设计是什么
  • 域外网站宁波建设监理协会
  • 胶州网站建设公司哪家好wordpress怎么改标题
  • php网站开发综合案例免费注册推广网站
  • 邯郸做网站的地方广州网站制作
  • 企业网站制作公司24小时接单郑州手机网站推广外包
  • 接做施工图的网站手机移动网站模板
  • 做网站月薪资多少钱如何打开微信小程序
  • 免费建站网站一级大录像不卡在线看网页无锡网站排名提升
  • 无锡门户网站制作服务郑州艾特网站建设
  • 建设网站 万网网页设计表单代码模板
  • 网站速度查询app开发模板网站
  • 国外案例网站做电商网站有什么用
  • 自己做的网站点击赚钱免费制作二级网站
  • 产品包装设计网站网站开发所需费用