当前位置: 首页 > 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.zqtcl.cn/news/818097/

相关文章:

  • DW怎么做招聘网站重庆有什么好玩的
  • 网站建设的网络公司百度官方app下载
  • 医疗电子科技网站建设站群 网站如何做
  • 汇邦团建网站谁做的钢结构招聘网
  • 如何制作一个动态的网站的登录详细步骤页面网站炫酷首页
  • 网站建设找星火龙网站开发 在线支付
  • 如何在公司网站下设置邮箱自己开发一个app要多少钱
  • 珠海市横琴新区建设环保局网站做catia数据的网站
  • 珠海pc网站建设wordpress子主题安全
  • 布吉企业网站建设网站维护与建设内容
  • 专业图书商城网站建设七初SEO网站建设
  • 南通公司网站模板建站wordpress设置主页
  • 小企业网站建设哪找广州app开发平台
  • 建设部国家标准网站免费网站建设 免备案
  • 网站后台批量上传图片ue5培训机构哪家强
  • 合肥制作网站在哪里建网站
  • 网站开发话术合同管理软件系统
  • 洛阳建设网站公司vue 微信公众号开发
  • 网页的网站建设什么网站可以做免费广告
  • 秦都区建设局网站网络推广如何收费
  • 户外保险网站网站开发市场情况
  • 嘉兴企业网站排名网站快速排名服务
  • 8步快速搭建个人网站视频网站备案号被收回
  • 沈阳网站建设 景乔科技wap入口
  • 做网站服务器要用多大怎么在58建设企业的网站
  • 购物网站用户管理景观设计公司资质
  • 县检察院门户网站建设情况门户网站衰落的原因
  • 菏泽网站建设哪好大型企业网络搭建
  • t恤定制网站厦门制作网站企业
  • 上海建站优化建设网站个人简介范文