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

网站开发工程师大学商城网站建设所必备的四大功能是哪些

网站开发工程师大学,商城网站建设所必备的四大功能是哪些,网站中文名称,如何做网站推广的方案设计文章目录1. 比赛结果2. 题目1. LeetCode 5408. 通过翻转子数组使两个数组相等 easy2. LeetCode 5409. 检查一个字符串是否包含所有长度为 K 的二进制子串 medium3. LeetCode 5410. 课程安排 IV medium #xff08;Floyd-Warshall#xff09;4. LeetCode 5411. 摘樱桃 II hard… 文章目录1. 比赛结果2. 题目1. LeetCode 5408. 通过翻转子数组使两个数组相等 easy2. LeetCode 5409. 检查一个字符串是否包含所有长度为 K 的二进制子串 medium3. LeetCode 5410. 课程安排 IV medium Floyd-Warshall4. LeetCode 5411. 摘樱桃 II hard1. 比赛结果 虽然只做出一题还是记录一下吧。第一题送分题拿下第二题没绕过弯第三题超时第四题没看。继续加油 全国排名1125 / 196657.2%全球排名4236 / 792453.5% 2. 题目 1. LeetCode 5408. 通过翻转子数组使两个数组相等 easy 题目链接 给你两个长度相同的整数数组 target 和 arr 。 每一步中你可以选择 arr 的任意 非空子数组 并将它翻转。你可以执行此过程任意次。 如果你能让 arr 变得与 target 相同返回 True否则返回 False 。 示例 1 输入target [1,2,3,4], arr [2,4,1,3] 输出true 解释你可以按照如下步骤使 arr 变成 target 1- 翻转子数组 [2,4,1] arr 变成 [1,4,2,3] 2- 翻转子数组 [4,2] arr 变成 [1,2,4,3] 3- 翻转子数组 [4,3] arr 变成 [1,2,3,4] 上述方法并不是唯一的还存在多种将 arr 变成 target 的方法。示例 2 输入target [7], arr [7] 输出true 解释arr 不需要做任何翻转已经与 target 相等。示例 3 输入target [1,12], arr [12,1] 输出true示例 4 输入target [3,7,9], arr [3,7,11] 输出false 解释arr 没有数字 9 所以无论如何也无法变成 target 。示例 5 输入target [1,1,1,1,1], arr [1,1,1,1,1] 输出true提示 target.length arr.length 1 target.length 1000 1 target[i] 1000 1 arr[i] 1000解答 翻转任意次那就排序后相等即可 class Solution { public:bool canBeEqual(vectorint target, vectorint arr) {sort(target.begin(), target.end());sort(arr.begin(),arr.end());return target arr;} };2. LeetCode 5409. 检查一个字符串是否包含所有长度为 K 的二进制子串 medium 题目链接 给你一个二进制字符串 s 和一个整数 k 。 如果所有长度为 k 的二进制字符串都是 s 的子串请返回 True 否则请返回 False 。 示例 1 输入s 00110110, k 2 输出true 解释长度为 2 的二进制串包括 000110 和 11。 它们分别是 s 中下标为 0132 开始的长度为 2 的子串。示例 2 输入s 00110, k 2 输出true示例 3 输入s 0110, k 1 输出true 解释长度为 1 的二进制串包括 0 和 1显然它们都是 s 的子串。示例 4 输入s 0110, k 2 输出false 解释长度为 2 的二进制串 00 没有出现在 s 中。示例 5 输入s 0000000001011100, k 4 输出false提示 1 s.length 5 * 10^5 s 中只含 0 和 1 。 1 k 20解题 大小为k的滑动窗口把字符串取出来转成int放入集合看集合中数的种类是不是 2k 个 class Solution { public:bool hasAllCodes(string s, int k) {if(s.size() k)return false;int i, l 0, r 0, num;setint st;for( ; r s.size(); r){if(r-l1 k)//长度为 k {num 0;for(i l; i r; i)//转成数字num s[i]-0 (num1);st.insert(num);l;}}return st.size() (1k);} };968 ms 38.9 MB stoi函数简化代码 http://www.cplusplus.com/reference/string/stoi/ 将字符串从给定下标开始的字符子串从base进制 转成 10 进制int int stoi (const string str, size_t* idx 0, int base 10); int stoi (const wstring str, size_t* idx 0, int base 10);class Solution { public:bool hasAllCodes(string s, int k) {if(s.size() k)return false;int i, l 0, r 0;setint st;string str;for( ; r s.size(); r){if(r-l1 k){str s.substr(l,k);st.insert(stoi(str,0,2));l;}}return st.size() (1k);} };1392 ms 50.2 MB 3. LeetCode 5410. 课程安排 IV medium Floyd-Warshall 题目链接 你总共需要上 n 门课课程编号依次为 0 到 n-1 。 有的课会有直接的先修课程比如如果想上课程 0 你必须先上课程 1 那么会以 [1,0] 数对的形式给出先修课程数对。 给你课程总数 n 和一个直接先修课程数对列表 prerequisite 和一个查询对列表 queries 。 对于每个查询对 queries[i] 请判断 queries[i][0] 是否是 queries[i][1] 的先修课程。 请返回一个布尔值列表列表中每个元素依次分别对应 queries 每个查询对的判断结果。 注意如果课程 a 是课程 b 的先修课程且课程 b 是课程 c 的先修课程那么课程 a 也是课程 c 的先修课程。 示例 1 输入n 2, prerequisites [[1,0]], queries [[0,1],[1,0]] 输出[false,true] 解释课程 0 不是课程 1 的先修课程但课程 1 是课程 0 的先修课程。示例 2 输入n 2, prerequisites [], queries [[1,0],[0,1]] 输出[false,false] 解释没有先修课程对所以每门课程之间是独立的。示例 3 输入n 3, prerequisites [[1,2],[1,0],[2,0]], queries [[1,0],[1,2]] 输出[true,true]示例 4 输入n 3, prerequisites [[1,0],[2,0]], queries [[0,1],[2,0]] 输出[false,true]示例 5 输入n 5, prerequisites [[0,1],[1,2],[2,3],[3,4]], queries [[0,4],[4,0],[1,3],[3,0]] 输出[true,false,true,false]提示 2 n 100 0 prerequisite.length (n * (n - 1) / 2) 0 prerequisite[i][0], prerequisite[i][1] n prerequisite[i][0] ! prerequisite[i][1] 先修课程图中没有环。 先修课程图中没有重复的边。 1 queries.length 10^4 queries[i][0] ! queries[i][1]解答 参考 弗洛伊德算法多点源之间的最短路径时间复杂度 O(V3)O(V^3)O(V3)注意 i,j,k 的顺序 For each cell (i, j) in M:if i j:M[i][j] 0if (i, j) is an edge in E:M[i][j] weight(i, j)else:M[i][j] infinity for k from 1 to |V|:for i from 1 to |V|:for j from 1 to |V|:if M[i][j] M[i][k] M[k][j]:M[i][j] M[i][k] M[k][j]class Solution { public:vectorbool checkIfPrerequisite(int n, vectorvectorint prerequisites, vectorvectorint queries) {vectorvectorbool m(n, vectorbool(n,false));for(auto pre : prerequisites)m[pre[0]][pre[1]] true;int i, j, k;for(i 0; i n; i){for(j 0; j n; j){for(k 0; k n; k){if(m[j][i] m[i][k])//连通判断m[j][k] true;}}}vectorbool ans(queries.size());i 0;for(auto q : queries)ans[i] m[q[0]][q[1]];return ans;} };1068 ms 59.5 MB 4. LeetCode 5411. 摘樱桃 II hard 题目链接 给你一个 rows x cols 的矩阵 grid 来表示一块樱桃地。 grid 中每个格子的数字表示你能获得的樱桃数目。 你有两个机器人帮你收集樱桃机器人 1 从左上角格子 (0,0) 出发机器人 2 从右上角格子 (0, cols-1) 出发。 请你按照如下规则返回两个机器人能收集的最多樱桃数目 从格子 (i,j) 出发机器人可以移动到格子 (i1, j-1)(i1, j) 或者 (i1, j1) 。当一个机器人经过某个格子时它会把该格子内所有的樱桃都摘走然后这个位置会变成空格子即没有樱桃的格子。当两个机器人同时到达同一个格子时它们中只有一个可以摘到樱桃。两个机器人在任意时刻都不能移动到 grid 外面。两个机器人最后都要到达 grid 最底下一行。 示例 1 输入grid [[3,1,1],[2,5,1],[1,5,5],[2,1,1]] 输出24 解释机器人 1 和机器人 2 的路径在上图中分别用绿色和蓝色表示。 机器人 1 摘的樱桃数目为 (3 2 5 2) 12 。 机器人 2 摘的樱桃数目为 (1 5 5 1) 12 。 樱桃总数为 12 12 24 。示例 2 输入grid [[1,0,0,0,0,0,1],[2,0,0,0,0,3,0],[2,0,9,0,0,0,0],[0,3,0,5,4,0,0],[1,0,2,3,0,0,6]] 输出28 解释机器人 1 和机器人 2 的路径在上图中分别用绿色和蓝色表示。 机器人 1 摘的樱桃数目为 (1 9 5 2) 17 。 机器人 2 摘的樱桃数目为 (1 3 4 3) 11 。 樱桃总数为 17 11 28 。示例 3 输入grid [[1,0,0,3],[0,0,0,3],[0,0,3,3],[9,0,3,3]] 输出22示例 4 输入grid [[1,1],[1,1]] 输出4提示 rows grid.length cols grid[i].length 2 rows, cols 70 0 grid[i][j] 100 解题 状态定义很难参考的大佬们的思路dp[i][j1][j2],表示第 i 层两机器人位置为 j1 , j2 的最大值 class Solution { public:int cherryPickup(vectorvectorint grid) {int i, j1, j2, nj1, nj2,k1,k2, m grid.size(), n grid[0].size();vectorvectorvectorint dp(m,vectorvectorint(n, vectorint(n,-1)));//dp[i][j1][j2],表示第i层两机器人位置为 j1, j2 的最大值dp[0][0][n-1] grid[0][0]grid[0][n-1];vectorint dir {-1,0,1};int maxPick 0;for(i 1; i m; i){for(j1 0; j1 n; j1){for(j2 0; j2 n; j2){if(dp[i-1][j1][j2] ! -1){for(k1 0; k1 3; k1){nj1 j1 dir[k1];for(k2 0; k2 3; k2){nj2 j2 dir[k2];if(nj1 0 nj1 n nj2 0 nj2 n){if(nj1 nj2)dp[i][nj1][nj2] max(dp[i][nj1][nj2], dp[i-1][j1][j2]grid[i][nj1]);elsedp[i][nj1][nj2] max(dp[i][nj1][nj2], dp[i-1][j1][j2]grid[i][nj1]grid[i][nj2]); }}}}} }}for(j1 0; j1 n; j1)for(j2 0; j2 n; j2)maxPick max(maxPick, dp[m-1][j1][j2]);return maxPick;} };140 ms 14.5 MB
http://www.pierceye.com/news/818097/

相关文章:

  • wap网站开发重庆永川网站建设公司
  • 网站历史记录怎么恢复seo网站优化软件
  • 四川瑞通工程建设有限公司网站贵州省网站建设
  • 购买网站设计制作易龙天做的网站怎么样
  • 十大免费网站推广入口无锡网站建设首选捷搜
  • 网站搭建原理网页制作工程师
  • 中国工程建设交易信息网站邢台百度爱采购
  • 保定建设网站公司qq登陆 wordpress
  • 博客网站开发环境专业外贸网站建设公司价格
  • 响应式电商网站制作企业咨询诊断报告
  • 企业网站怎么建设公司展厅装修设计
  • 怎么联系网站管理员怎么做拍卖网站
  • 山东威海网站开发长沙新媒体运营公司
  • 社保网站做员工用工备案wordpress登录查看
  • 做网站公司名字应该用图片吗沃尔玛公司网站建设案例分析
  • 网站空间大小多少合适做关于车的网站
  • 专注咖啡相关的网站wordpress 访问缓慢
  • 自适应网站制作官网网站域名与建设
  • 淘宝网站开发成本武进建设局网站进不去
  • 比较好网站制作公司行业协会网站织梦模板
  • 牛人网络网站像wordpress一样的网站吗
  • 那种做任务的网站叫什么wordpress 数据库 旧Ip
  • 制作深圳网站建设百度推广广告收费标准
  • 电影采集网站建设国产做爰全免费的视频网站
  • 集团网站建设特点 助君长春seo公司网站
  • 网站域名备案 更改吗在线做文档的网站
  • 青海网站制作多少钱做网站教程pdf
  • dw做网站背景音乐wordpress 获取当前文章id
  • 上海鹭城建设集团网站icp备案查询
  • 企业站用什么程序做网站深圳手机报价网站