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

721网站建设wordpress桌面应用程序

721网站建设,wordpress桌面应用程序,昔阳网站建设,中卫建设厅网站文章目录1. 比赛结果2. 题目1. LeetCode 5420. 商品折扣后的最终价格 easy2. LeetCode 5422. 子矩形查询 medium3. LeetCode 5423. 找两个和为目标值且不重叠的子数组 medium4. LeetCode 5421. 安排邮筒 hard1. 比赛结果 两题选手#x1f602;#xff0c;前两题很水#xf… 文章目录1. 比赛结果2. 题目1. LeetCode 5420. 商品折扣后的最终价格 easy2. LeetCode 5422. 子矩形查询 medium3. LeetCode 5423. 找两个和为目标值且不重叠的子数组 medium4. LeetCode 5421. 安排邮筒 hard1. 比赛结果 两题选手前两题很水暴力解题拼手速第三题超时第四题不太会继续加油 全国排名 505 / 214423.6%全球排名 1944 / 857122.7% 2. 题目 1. LeetCode 5420. 商品折扣后的最终价格 easy 题目链接 给你一个数组 prices 其中 prices[i] 是商店里第 i 件商品的价格。 商店里正在进行促销活动如果你要买第 i 件商品那么你可以得到与 prices[j] 相等的折扣其中 j 是满足 j i 且 prices[j] prices[i] 的 最小下标 如果没有满足条件的 j 你将没有任何折扣。 请你返回一个数组数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。 示例 1 输入prices [8,4,6,2,3] 输出[4,2,4,2,3] 解释 商品 0 的价格为 price[0]8 你将得到 prices[1]4 的折扣所以最终价格为 8 - 4 4 。 商品 1 的价格为 price[1]4 你将得到 prices[3]2 的折扣所以最终价格为 4 - 2 2 。 商品 2 的价格为 price[2]6 你将得到 prices[3]2 的折扣所以最终价格为 6 - 2 4 。 商品 3 和 4 都没有折扣。示例 2 输入prices [1,2,3,4,5] 输出[1,2,3,4,5] 解释在这个例子中所有商品都没有折扣。示例 3 输入prices [10,1,1,6] 输出[9,0,1,6]提示 1 prices.length 500 1 prices[i] 10^3解题 读懂题目就可以了 class Solution {//C public:vectorint finalPrices(vectorint prices) {int i, j, n prices.size();for(i 0; i n-1; i){for(j i1; j n; j){if(prices[j] prices[i]){prices[i] - prices[j];break;}}}return prices;} };4 ms 9.9 MB class Solution:# py3def finalPrices(self, prices: List[int]) - List[int]:n len(prices)for i in range(n-1):for j in range(i1,n):if prices[j] prices[i]:prices[i] - prices[j]break;return prices44 ms 13.7 MB 数据规模大的话需要用单调栈 class Solution { //C public:vectorint finalPrices(vectorint prices) {int i, n prices.size();stackint stk;vectorint ans(prices);for(i n-1; i 0; --i){while(!stk.empty() prices[i] prices[stk.top()])stk.pop();if(!stk.empty())ans[i] - prices[stk.top()];stk.push(i);}return ans;} };2. LeetCode 5422. 子矩形查询 medium 题目链接 请你实现一个类 SubrectangleQueries 它的构造函数的参数是一个 rows x cols 的矩形这里用整数矩阵表示并支持以下两种操作 updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) 用 newValue 更新以 (row1,col1) 为左上角且以 (row2,col2) 为右下角的子矩形。getValue(int row, int col) 返回矩形中坐标 (row,col) 的当前值。 示例 1 输入 [SubrectangleQueries,getValue,updateSubrectangle, getValue,getValue,updateSubrectangle,getValue,getValue] [[[[1,2,1],[4,3,4],[3,2,1],[1,1,1]]],[0,2],[0,0,3,2,5],[0,2],[3,1],[3,0,3,2,10],[3,1],[0,2]] 输出 [null,1,null,5,5,null,10,5] 解释 SubrectangleQueries subrectangleQueries new SubrectangleQueries([[1,2,1],[4,3,4],[3,2,1],[1,1,1]]); // 初始的 (4x3) 矩形如下 // 1 2 1 // 4 3 4 // 3 2 1 // 1 1 1 subrectangleQueries.getValue(0, 2); // 返回 1 subrectangleQueries.updateSubrectangle(0, 0, 3, 2, 5); // 此次更新后矩形变为 // 5 5 5 // 5 5 5 // 5 5 5 // 5 5 5 subrectangleQueries.getValue(0, 2); // 返回 5 subrectangleQueries.getValue(3, 1); // 返回 5 subrectangleQueries.updateSubrectangle(3, 0, 3, 2, 10); // 此次更新后矩形变为 // 5 5 5 // 5 5 5 // 5 5 5 // 10 10 10 subrectangleQueries.getValue(3, 1); // 返回 10 subrectangleQueries.getValue(0, 2); // 返回 5示例 2 输入 [SubrectangleQueries,getValue,updateSubrectangle, getValue,getValue,updateSubrectangle,getValue] [[[[1,1,1],[2,2,2],[3,3,3]]],[0,0],[0,0,2,2,100],[0,0],[2,2],[1,1,2,2,20],[2,2]] 输出 [null,1,null,100,100,null,20] 解释 SubrectangleQueries subrectangleQueries new SubrectangleQueries([[1,1,1],[2,2,2],[3,3,3]]); subrectangleQueries.getValue(0, 0); // 返回 1 subrectangleQueries.updateSubrectangle(0, 0, 2, 2, 100); subrectangleQueries.getValue(0, 0); // 返回 100 subrectangleQueries.getValue(2, 2); // 返回 100 subrectangleQueries.updateSubrectangle(1, 1, 2, 2, 20); subrectangleQueries.getValue(2, 2); // 返回 20提示 最多有 500 次updateSubrectangle 和 getValue 操作。 1 rows, cols 100 rows rectangle.length cols rectangle[i].length 0 row1 row2 rows 0 col1 col2 cols 1 newValue, rectangle[i][j] 10^9 0 row rows 0 col cols解题 暴力更新 class SubrectangleQueries {//Cvectorvectorint v; public:SubrectangleQueries(vectorvectorint rectangle) {v rectangle;}void updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) {int i,j;for(i row1; i row2; i)for(j col1; j col2; j)v[i][j] newValue;}int getValue(int row, int col) {return v[row][col];} };84 ms 18.6 MB 或者不用更新直接逆序查历史记录 class SubrectangleQueries {vectorvectorint record;vectorvectorint v; public:SubrectangleQueries(vectorvectorint rectangle) {v rectangle;}void updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) {record.push_back({row1,col1,row2,col2,newValue});}int getValue(int row, int col) {for(int i record.size()-1; i 0; --i){if(rowrecord[i][0] rowrecord[i][2] colrecord[i][1] colrecord[i][3])return record[i][4];}return v[row][col];} };84 ms 19.2 MB class SubrectangleQueries:# py3def __init__(self, rectangle: List[List[int]]):import numpy as npself.rec np.array(rectangle)def updateSubrectangle(self, row1: int, col1: int, row2: int, col2: int, newValue: int) - None:self.rec[row1:row21, col1:col21] newValuedef getValue(self, row: int, col: int) - int:return int(self.rec[row][col])140 ms 30.2 MB 3. LeetCode 5423. 找两个和为目标值且不重叠的子数组 medium 题目链接 给你一个整数数组 arr 和一个整数值 target 。 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 。 可能会有多种方案请你返回满足要求的两个子数组长度和的 最小值 。 请返回满足要求的最小长度和如果无法找到这样的两个子数组请返回 -1 。 示例 1 输入arr [3,2,2,4,3], target 3 输出2 解释只有两个子数组和为 3 [3] 和 [3]。它们的长度和为 2 。示例 2 输入arr [7,3,4,7], target 7 输出2 解释尽管我们有 3 个互不重叠的子数组和为 7 [7], [3,4] 和 [7] 但我们会选择第一个和第三个子数组因为它们的长度和 2 是最小值。示例 3 输入arr [4,3,2,6,2,3,4], target 6 输出-1 解释我们只有一个和为 6 的子数组。示例 4 输入arr [5,5,4,4,5], target 3 输出-1 解释我们无法找到和为 3 的子数组。示例 5 输入arr [3,1,1,1,5,1,2,1], target 3 输出3 解释注意子数组 [1,2] 和 [2,1] 不能成为一个方案因为它们重叠了。提示 1 arr.length 10^5 1 arr[i] 1000 1 target 10^8解题 先通过滑动窗口求出所有的区间注意 使用multiset时才能保存长度一样的然后在区间里双重循环内层找到一个解的时候就 break然后外层循环 注意剪枝 struct cmp {bool operator()(const pairint,int a, const pairint,int b)const{return a.second-a.first b.second-b.first;// 或者使用 set 但是这里要加入 号但是这是个很不好的// set就是去重的你弄个相同的在里面很让人迷惑} }; class Solution { public:int minSumOfLengths(vectorint arr, int target) {int i0, j0, n arr.size(), sum 0;int minlen INT_MAX;multisetpairint,int,cmp v;for(;j n; j){sum arr[j];if(sumtarget)v.insert({i,j});while(sum target){sum - arr[i];if(sumtarget)v.insert({i,j});}}for(auto it1 v.begin(); it1 ! v.end(); it1){if(2*(it1-second-it1-first1) minlen)break;//记得优化容易超时auto it2 it1;for(it2; it2 ! v.end(); it2){if(it1-second it2-first || it1-first it2-second){minlen min(minlen, it1-second - it1-firstit2-second - it2-first2);break;//找到了一个解break后面不会有更优的}}}return minlenINT_MAX?-1:minlen;} };516 ms 87.8 MB 利用前缀和分别记录每个位置左侧的最短长度右侧的最短长度再遍历一次求解最短的 lr class Solution { public:int minSumOfLengths(vectorint arr, int target) {int i, n arr.size(), sum 0, minlen INT_MAX;unordered_mapint,int m;//前缀和indexm[0] -1;vectorint left(n,0);vectorint right(n,0);for(i 0; i n; i){sum arr[i];m[sum] i;if(m.count(sum-target))minlen min(minlen, i-m[sum-target]);left[i] minlen;}unordered_mapint,int m1;//前缀和indexm1[0] n;sum 0;minlen INT_MAX;for(i n-1; i 0; --i){sum arr[i];m1[sum] i;if(m1.count(sum-target))minlen min(minlen, m1[sum-target]-i);right[i] minlen;}minlen INT_MAX;for(i 0; i n-1; i)if(left[i]!INT_MAX right[i1]!INT_MAX)//左右都存在minlen min(minlen, left[i]right[i1]);return minlenINT_MAX?-1:minlen;} };1172 ms 164.8 MB 4. LeetCode 5421. 安排邮筒 hard 题目链接 给你一个房屋数组houses 和一个整数 k 其中 houses[i] 是第 i 栋房子在一条街上的位置现需要在这条街上安排 k 个邮筒。 请你返回每栋房子与离它最近的邮筒之间的距离的 最小 总和。 答案保证在 32 位有符号整数范围以内。 示例 1 输入houses [1,4,8,10,20], k 3 输出5 解释将邮筒分别安放在位置 3 9 和 20 处。 每个房子到最近邮筒的距离和为 |3-1| |4-3| |9-8| |10-9| |20-20| 5 。示例 2 输入houses [2,3,5,12,18], k 2 输出9 解释将邮筒分别安放在位置 3 和 14 处。 每个房子到最近邮筒距离和为 |2-3| |3-3| |5-3| |12-14| |18-14| 9 。示例 3 输入houses [7,4,6,1], k 1 输出8示例 4 输入houses [3,6,14,10], k 4 输出0提示 n houses.length 1 n 100 1 houses[i] 10^4 1 k n 数组 houses 中的整数互不相同。解题 待补
http://www.zqtcl.cn/news/660217/

相关文章:

  • 政务大厅网站建设管理制度wordpress商城移动端
  • 提供中小企业网站建设北京企业网站建设公司哪家好
  • 做海报找图片的网站黑群晖按照wordpress
  • 网站建设与运营市场开拓方案网站首页策划
  • 做国外网站什么好网站快速优化排名排名
  • 如东做网站专注高密网站建设
  • dw网页设计作品简单宁波seo排名方案
  • 网站做微信接口吗小说网站首页模板
  • 网站正在建设中html个人站长做网站需要多少钱
  • 做推广便宜的网站有哪些数据网站建设哪家好
  • 中介网站制度建设wordpress genesis
  • 广东贸易网站开发用数据库做学校网站论文
  • 关于省钱的网站名字东莞哪些网络公司做网站比较好
  • net网站建设多少前MAC怎么做网站
  • 创建网站流程图国内高清图片素材网站推荐
  • 淄博住房和城乡建设局网站建设外贸网站哪家好
  • dede网站地图路径密云区免费网站建设
  • 男女做那事是什 网站软文网
  • 安徽建海建设工程有限公司网站活动推广宣传方案
  • 镇江市建设审图网站关键词优化过程
  • 广州个人网站备案要多久手机软件界面设计
  • 网站建设成都公司哪家好wordpress悬浮代码
  • 制作网站服务公司wordpress文章添加关注公众号
  • 陶瓷企业 瓷砖地板公司网站建设视频解析wordpress
  • 城乡建设厅网站首页wordpress模板汉化教程视频
  • 网站建设怎么设置渐变色手机网站开发服务商
  • 网站备案用座机租用南宁网站建设优化排名
  • 网页制作与网站建设实战大全读后感霞浦建站公司
  • 网站运营与网络推广方案搜索引擎关键字排名优化
  • 前端角度实现网站首页加载慢优化王业美三个字组成的子