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

个人网站对主机有什么要求做网站模版与定制的区别

个人网站对主机有什么要求,做网站模版与定制的区别,j建设银行查数据的网站,wordpress敏感文件合并区间 56. 合并区间 - 力扣#xff08;LeetCode#xff09; 和之前的思路类似#xff0c;先创建一个ans二维数组#xff0c;创建start和end来指明添加进入ans数组的区间下标#xff0c;先对数组按照首元素排序从小到大排序后#xff0c;根据当前元素是否小于下一个元…合并区间 56. 合并区间 - 力扣LeetCode 和之前的思路类似先创建一个ans二维数组创建start和end来指明添加进入ans数组的区间下标先对数组按照首元素排序从小到大排序后根据当前元素是否小于下一个元素的第一个元素来决定将这个对ans数组进行增加、移动下标或改变end。具体代码如下。 class Solution { public:// 定义一个比较函数用于sort函数按照区间的起始点进行排序static bool cmp(vectorinta, vectorintb){return a[0]b[0];}vectorvectorint merge(vectorvectorint intervals) {// 使用sort函数和自定义的比较函数cmp对区间进行排序sort(intervals.begin(),intervals.end(),cmp);// 定义一个二维向量用于存放合并后的区间vectorvectorintans;// 如果输入的区间为空直接返回空的ansif(intervals.size() 0){return ans;}// 如果只有一个区间直接将该区间放入ans中if(intervals.size() 1){ans.push_back(vectorint{intervals[0][0],intervals[0][1]});return ans;}// 初始化起始和结束点为第一个区间的起始和结束点int begin intervals[0][0];int end intervals[0][1];for(int i 0 ; i intervals.size()-1; i){// 如果当前区间的起始点大于上一个区间的结束点说明没有重叠if(intervals[i1][0] end){// 将上一个区间加入ans中ans.push_back(vectorint{begin,end});// 更新区间的起始和结束点为当前区间的起始和结束点begin intervals[i1][0];end intervals[i1][1];}else// 如果有重叠更新结束点为当前区间和上一个区间结束点的较大值end max(intervals[i1][1],end);// 如果是最后一个区间将其加入ans中if(i intervals.size()-2){ans.push_back(vectorint{begin,end});} }// 返回合并后的区间return ans;} };算法的时间复杂度为O(nlogn)空间复杂度为O(n)。 代码随想录中代码 class Solution { public:vectorvectorint merge(vectorvectorint intervals) {vectorvectorint result;if (intervals.size() 0) return result; // 区间集合为空直接返回// 排序的参数使用了lambda表达式sort(intervals.begin(), intervals.end(), [](const vectorint a, const vectorint b){return a[0] b[0];});// 第一个区间就可以放进结果集里后面如果重叠在result上直接合并result.push_back(intervals[0]); for (int i 1; i intervals.size(); i) {if (result.back()[1] intervals[i][0]) { // 发现重叠区间// 合并区间只更新右边界就好因为result.back()的左边界一定是最小值因为我们按照左边界排序的result.back()[1] max(result.back()[1], intervals[i][1]); } else {result.push_back(intervals[i]); // 区间不重叠 }}return result;} }; 时间复杂度: O(nlogn)空间复杂度: O(logn)排序需要的空间开销 单调递增的数字 738. 单调递增的数字 - 力扣LeetCode 贪心算法98的最小单调递增数字为89第一位不符合单调递增的情况将该值--并将后面的数字都变为9使用字符串可以方便对数字进行处理所以我们先将数字转换为字符串然后寻找到第一个不符合单调递增情况的数字之后对该数字以前的数字全部-1保证其前几位在符合单调递增的情况下最大最后把后面的数字全部变为9即实现了最大的单调递增数字。 class Solution { public:int monotoneIncreasingDigits(int n) {// 将整数n转换为字符串s以便逐位处理string s to_string(n);int i 1;// 从左到右遍历字符串直到遇到一个位置i使得s[i-1] s[i]// 找到需要调整的位置while(i s.size() s[i-1]s[i]){i;}// 如果i没有遍历到字符串的末尾说明我们找到了需要调整的位置if(i s.size()){// 从位置i开始向前遍历直到s[i-1]不再大于s[i]// 将每个大于其后继的数字减1这样可以保证数字尽可能大且单调递增while(i 0 s[i-1] s[i]){s[i - 1] - 1;i-- ; }// 将位置i之后的所有数字都置为9这样可以保证这些位置的数字是最大的for(int j i 1; j s.size(); j){s[j] 9;}}// 将处理后的字符串s转换回整数并返回return stoi(s);} };时间复杂度为O(n)空间复杂度为O(n)。 监控二叉树 968. 监控二叉树 - 力扣LeetCode 我开始的想法是用一个层序遍历然后将偶数层的节点相加得到监控的数目有些问题后面再改改。能力不够先跳过吧 class Solution { public:int minCameraCover(TreeNode* root) {queueTreeNode* queue;if(root!nullptr){queue.push(root);}int count 0;int flag 0;TreeNode*cur root;vectorintans;while(!queue.empty()){int size queue.size();ans.push_back(size);for(int i 0; i size; i){cur queue.front();queue.pop();if(cur-left){queue.push(cur-left);}if(cur-right){queue.push(cur-right);}}}if(ans.size() 2){return 1;}for(int i 1 ; i ans.size(); i i 2){count ans[i];}return count;} }; 代码随想录思路 代码随想录 (programmercarl.com)一个监控摄像头最多可以监控父节点、自己和两个子节点累计三层若想要最小化摄像头的数目最优的方式必定要利用好这个特点。叶节点远多于根节点考虑在叶节点处节约摄像头的数目选择叶节点的父节点作为摄像头的放置位置。遍历到根节点再放置一个摄像头所以使用后序遍历。 贪心算法二叉树与贪心的结合有点难...... LeetCode:968.监督二叉树_哔哩哔哩_bilibili 思路不好想啊。。。。 二叉树中的每个节点有3个状态。0.无覆盖、1.有摄像头、2.有覆盖 后序遍历从叶节点往上遍历总共有四种情况。 1.左右孩子都有覆盖返回0此处为无覆盖 2.左右节点存在无覆盖情况必须放入一个摄像头 3.左右至少存在一个摄像头当前位置状态为有覆盖 4.根节点状态为无覆盖放置一个摄像头。 class Solution { private:int result;int traversal(TreeNode* cur) {// 空节点该节点有覆盖if (cur NULL) return 2;int left traversal(cur-left); // 左int right traversal(cur-right); // 右// 情况1// 左右节点都有覆盖if (left 2 right 2) return 0;// 情况2// left 0 right 0 左右节点无覆盖// left 1 right 0 左节点有摄像头右节点无覆盖// left 0 right 1 左节点有无覆盖右节点摄像头// left 0 right 2 左节点无覆盖右节点覆盖// left 2 right 0 左节点覆盖右节点无覆盖if (left 0 || right 0) {result;return 1;}// 情况3// left 1 right 2 左节点有摄像头右节点有覆盖// left 2 right 1 左节点有覆盖右节点有摄像头// left 1 right 1 左右节点都有摄像头// 其他情况前段代码均已覆盖if (left 1 || right 1) return 2;// 以上代码我没有使用else主要是为了把各个分支条件展现出来这样代码有助于读者理解// 这个 return -1 逻辑不会走到这里。return -1;}public:int minCameraCover(TreeNode* root) {result 0;// 情况4if (traversal(root) 0) { // root 无覆盖result;}return result;} }; 算法时间复杂度为O(n)空间复杂度O(n)。
http://www.w-s-a.com/news/655489/

相关文章:

  • 学校网站方案帮别人做钓鱼网站吗
  • 如何加强网站建设和信息宣传wordpress 搜索提示
  • 灰色网站怎么做php yaf 网站开发框架
  • 浙江建设网站首页提供做网站公司有哪些
  • 建公司网站报价公司seo是什么级别
  • 可信赖的武进网站建设中山网站建设方案
  • 网站设计方面有什么公司运动鞋网站建设目的
  • 学校门户网站流程建设方案找人做网站 多少钱
  • 网站域名更换相应内容网站策划 要求
  • 百盛联合建设集团网站开发网站的步骤
  • php做网站评价网络公司经营范围可以加技
  • 网站积分的作用保定专业网站建设
  • 莆田做网站公司电话如何提升网站访问速度
  • 网站开发流程步骤 口袋网页访问wordpress
  • 湘潭做网站的公司自助建站教程
  • 做网站推广和头条推广wordpress 验证密码错误
  • 淘宝联盟网站怎么做深圳市创想三维科技有限公司
  • 校园网站建设招标公告php网站开发什么
  • 06628 网页制作与网站开发陕西省交通建设网站
  • 做wish如何利用数据网站暗红色网站
  • 企业 网站备案 法人长春建站模板搭建
  • 网站做快照网站改版 升级的目的
  • 自己做一个网站要多少钱海外推广什么意思
  • 郑州做网站哪家专业网络基础知识大全
  • 济南制作网站企业php 调试网站
  • 互联网站管理工作细则做网站通栏模糊
  • 徐州手机网站开发公司电话青岛有名的互联网公司
  • 如何在手机做网站wordpress 网站搬迁
  • 网站透明导航代码国外卖货平台有哪些
  • 张家界网站建设方案中国网页设计师