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

郑州 网站建设有限公司建设手机网站经验分享

郑州 网站建设有限公司,建设手机网站经验分享,四川建设网是国企吗,杭州做网站公司文章目录1. 比赛结果2. 题目LeetCode 5311. 将数字变成 0 的操作次数 easyLeetCode 5312. 大小为 K 且平均值大于等于阈值的子数组数目 mediumLeetCode 5313. 时钟指针的夹角 mediumLeetCode 5314. 跳跃游戏 IV hard1. 比赛结果 做出来了1, 3, 4题#xff0c;第2题结束后12分… 文章目录1. 比赛结果2. 题目LeetCode 5311. 将数字变成 0 的操作次数 easyLeetCode 5312. 大小为 K 且平均值大于等于阈值的子数组数目 mediumLeetCode 5313. 时钟指针的夹角 mediumLeetCode 5314. 跳跃游戏 IV hard1. 比赛结果 做出来了1, 3, 4题第2题结束后12分钟做出来了。 全国排名231/112020.6%全球排名772/374520.6% 2. 题目 LeetCode 5311. 将数字变成 0 的操作次数 easy 题目链接 给你一个非负整数 num 请你返回将它变成 0 所需要的步数。 如果当前数字是偶数你需要把它除以 2 否则减去 1 。 示例 1 输入num 14 输出6 解释 步骤 1) 14 是偶数除以 2 得到 7 。 步骤 2 7 是奇数减 1 得到 6 。 步骤 3 6 是偶数除以 2 得到 3 。 步骤 4 3 是奇数减 1 得到 2 。 步骤 5 2 是偶数除以 2 得到 1 。 步骤 6 1 是奇数减 1 得到 0 。示例 2 输入num 8 输出4 解释 步骤 1 8 是偶数除以 2 得到 4 。 步骤 2 4 是偶数除以 2 得到 2 。 步骤 3 2 是偶数除以 2 得到 1 。 步骤 4 1 是奇数减 1 得到 0 。示例 3 输入num 123 输出12提示 0 num 10^6来源力扣LeetCode 链接https://leetcode-cn.com/problems/number-of-steps-to-reduce-a-number-to-zero 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 解答 class Solution { public:int numberOfSteps (int num) {int count 0;while(num){ if(num%2 0)num / 2;elsenum - 1;count;}return count;} };LeetCode 5312. 大小为 K 且平均值大于等于阈值的子数组数目 medium 题目链接 给你一个整数数组 arr 和两个整数 k 和 threshold 。 请你返回长度为 k 且平均值大于等于 threshold 的子数组数目。 示例 1 输入arr [2,2,2,2,5,5,5,8], k 3, threshold 4 输出3 解释子数组 [2,5,5],[5,5,5] 和 [5,5,8] 的平均值分别为 45 和 6 。其他长度为 3 的子数组的平均值都小于 4 threshold 的值)。示例 2 输入arr [1,1,1,1,1], k 1, threshold 0 输出5示例 3 输入arr [11,13,17,23,29,31,7,5,2,3], k 3, threshold 5 输出6 解释前 6 个长度为 3 的子数组平均值都大于 5 。注意平均值不是整数。示例 4 输入arr [7,7,7,7,7,7,7], k 7, threshold 7 输出1示例 5 输入arr [4,4,4,4], k 4, threshold 1 输出1提示 1 arr.length 10^5 1 arr[i] 10^4 1 k arr.length 0 threshold 10^4来源力扣LeetCode 链接https://leetcode-cn.com/problems/number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 解题 一开始看错题子数组我看成可以随意组合。。。 双指针解题即可。 class Solution { public:int numOfSubarrays(vectorint arr, int k, int threshold) {int i 0, j k-1, n arr.size(), sum0, target k*threshold;int count 0;for(i 0; i k; i) sum arr[i];if(sum target)count;i1,j;while(j n){sum arr[j]-arr[i-1];if(sum target)count;i,j;}return count;} };LeetCode 5313. 时钟指针的夹角 medium 题目链接 给你两个数 hour 和 minutes 。请你返回在时钟上由给定时间的时针和分针组成的较小角的角度60 单位制。 提示 1 hour 12 0 minutes 59 与标准答案误差在 10^-5 以内的结果都被视为正确结果。解题 class Solution { public:double angleClock(int hour, int minutes) {double d1 0, d2 0;d2 minutes*6;d1 (hour%12)*30 double(d2)/360*30;return min(abs(d1-d2),360-abs(d1-d2));} };LeetCode 5314. 跳跃游戏 IV hard 题目链接 给你一个整数数组 arr 你一开始在数组的第一个元素处下标为 0。 每一步你可以从下标 i 跳到下标 i 1 满足i 1 arr.lengthi - 1 满足i - 1 0j 满足arr[i] arr[j] 且 i ! j 请你返回到达数组最后一个元素的下标处所需的 最少操作次数 。 注意任何时候你都不能跳到数组外面。 示例 1 输入arr [100,-23,-23,404,100,23,23,23,3,404] 输出3 解释那你需要跳跃 3 次下标依次为 0 -- 4 -- 3 -- 9 。 下标 9 为数组的最后一个元素的下标。示例 2 输入arr [7] 输出0 解释一开始就在最后一个元素处所以你不需要跳跃。示例 3 输入arr [7,6,9,6,9,6,9,7] 输出1 解释你可以直接从下标 0 处跳到下标 7 处也就是数组的最后一个元素处。示例 4 输入arr [6,1,9] 输出2示例 5 输入arr [11,22,7,7,7,7,7,7,7,22,13] 输出3提示 1 arr.length 5 * 10^4 -10^8 arr[i] 10^8解题 BFS, 广度优先搜索 开始想着用动态规划后来知道不是是最短路径问题。 先超时一次连续一样的数可以只插入最后一个即可 超时代码 class Solution { public:int minJumps(vectorint arr) {if(arr.size() 1)return 0;int i, tp;const int n arr.size();vectorint dp(n, INT_MAX);queueint q;vectorbool visited(n,false);q.push(0);visited[0] true;dp[0] 0;multimapint, int m;for(i 1; i n; i)m.insert(make_pair(arr[i], i));while(!q.empty() (dp[n-1] INT_MAX)){tp q.front();q.pop();if(tp1 n !visited[tp1]){dp[tp1] min(dp[tp1], 1dp[tp]);q.push(tp1);visited[tp1] true;}if(tp-10 !visited[tp-1]){dp[tp-1] min(dp[tp-1], 1dp[tp]);q.push(tp-1);visited[tp-1] true;}if(dp[n-1] ! INT_MAX)return dp[n-1];auto start m.equal_range(arr[tp]).first, end m.equal_range(arr[tp]).second;for(auto it start; it ! end; it){if(!visited[it-second]){visited[it-second] true;dp[it-second] min(dp[it-second], 1dp[tp]);q.push(it-second);}if(dp[n-1] ! INT_MAX)return dp[n-1];}}return dp[n-1];} };通过代码172ms class Solution { public:int minJumps(vectorint arr) {if(arr.size() 1)return 0;int i, tp, prev arr[0];const int n arr.size();vectorint dp(n, INT_MAX);queueint q;vectorbool visited(n,false);q.push(0);visited[0] true;dp[0] 0;multimapint, int m;for(i 0; i n; i){if(arr[i] prev)continue;else{m.insert(make_pair(prev, i-1));prev arr[i];}}m.insert(make_pair(arr[n-1],n-1));while(!q.empty() (dp[n-1] INT_MAX)){tp q.front();q.pop();if(tp1 n !visited[tp1]){dp[tp1] min(dp[tp1], 1dp[tp]);q.push(tp1);visited[tp1] true;}if(tp-10 !visited[tp-1]){dp[tp-1] min(dp[tp-1], 1dp[tp]);q.push(tp-1);visited[tp-1] true;}if(dp[n-1] ! INT_MAX)return dp[n-1];auto start m.equal_range(arr[tp]).first, end m.equal_range(arr[tp]).second;for(auto it start; it ! end; it){if(!visited[it-second]){visited[it-second] true;dp[it-second] min(dp[it-second], 1dp[tp]);q.push(it-second);}if(dp[n-1] ! INT_MAX)return dp[n-1];}}return dp[n-1];} };赛后优化代码如下 class Solution { public:int minJumps(vectorint arr) {if(arr.size() 1)return 0;int i, tp, prev INT_MIN, step 0, size;const int n arr.size();queueint q;vectorbool visited(n,false);q.push(0);visited[0] true;multimapint, int m;for(i 0; i n; i){if(arr[i] prev)continue;//跳过一样的else//只插入连续相同的一段的首尾中间跳肯定不是最短距离{ if(i-10)m.insert(make_pair(arr[i-1],i-1));m.insert(make_pair(arr[i], i));prev arr[i];}if(i n-1)//插入最后一个位置可能重复插入了但是不影响m.insert(make_pair(arr[i],i));}while(!q.empty()){size q.size();while(size--){tp q.front();q.pop();if(tp n-1)return step;// 跳往i1位置if(tp1 n !visited[tp1]){q.push(tp1);visited[tp1] true;}// 跳往i-1位置if(tp-10 !visited[tp-1]){q.push(tp-1);visited[tp-1] true;}// 跳往值相同的位置auto start m.equal_range(arr[tp]).first, end m.equal_range(arr[tp]).second;for(auto it start; it ! end; it){if(!visited[it-second]){visited[it-second] true;q.push(it-second);}}}step;}return step;} };
http://www.pierceye.com/news/282848/

相关文章:

  • 广州市网站建设服务机构建设部网站查资质
  • 医院网站建设思路wordpress mx主题
  • 天津如何做百度的网站虚拟机做局域网网站服务器
  • 网站建设维护需要懂哪些知识网站建设优质公司
  • 怎么做网络彩票网站校园网站建设经费申请报告
  • 廊坊公司做网站一般网站图标是用什么做的
  • php网站开发文档模板玖壹购网站是做啥子的
  • 海报模板网站有哪些小程序电商平台排名
  • 百度一下百度网站苏州优秀网站设计企业
  • 通信管理局网站备案cms网站建设的实训总结
  • 西安知名网站建设公司百度网页版微信
  • 单纯python能完成网站开发吗门户网站衰落的原因
  • 唐山微网站建设价格宁波外贸网站推广优化
  • 如何能把网站做的更大赤峰网站建设赤峰
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版网站设计是用ps做图吗
  • 长沙建设网站公司浙江网站建设上市公司
  • 成都艾邦视觉专业网站建设公司有内涵大气的公司名字
  • 制作学校网站编程基础知识大全
  • 建设银行网站买手机阿里云已备案域名购买
  • 12个优秀的平面设计素材网站wordpress 标题 拼音
  • 瑶海区网站建设公司上海app开发定制公司
  • 北海建设厅网站局域网的电脑怎么做网站服务器
  • 莱芜网站建设价格域名注册成功后怎么使用网站
  • 衡阳县建设局网站wordpress 图片缓存
  • 浙江门户网站建设公司新闻稿发布
  • 温州网站建设排名wordpress 汉化失败
  • 做数据可视化的网站推广类软文案例
  • 外包做网站的要求怎么写做网站 360
  • 温州网站建设价格技术微信公众号免费开通
  • 做网站推广销售怎么样辽宁省网站备案系统