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

优秀网站的链接精品网站欣赏

优秀网站的链接,精品网站欣赏,网站建设项目需求概要说明书,网络推广策划方案设计作者推荐 【动态规划】【广度优先搜索】LeetCode:2617 网格图中最少访问的格子数 本文涉及的基础知识点 二分查找算法合集 自写二分函数 的封装 我暂时只发现两种#xff1a; 一#xff0c;在左闭右开的区间寻找最后一个符合条件的元素#xff0c;我封装成FindEnd函数。…作者推荐 【动态规划】【广度优先搜索】LeetCode:2617 网格图中最少访问的格子数 本文涉及的基础知识点 二分查找算法合集 自写二分函数 的封装 我暂时只发现两种 一在左闭右开的区间寻找最后一个符合条件的元素我封装成FindEnd函数。 二在左开右闭的区间寻找第一个符合条件的元素我封装成FindFirst函数。 namespace NBinarySearch {templateclass INDEX_TYPE,class _PrINDEX_TYPE FindFrist(INDEX_TYPE left, INDEX_TYPE rightInclue, _Pr pr){while (rightInclue - left 1){const auto mid left (rightInclue - left) / 2;if (pr(mid)){rightInclue mid;}else{left mid;}}return rightInclue;}templateclass INDEX_TYPE, class _PrINDEX_TYPE FindEnd(INDEX_TYPE leftInclude, INDEX_TYPE right, _Pr pr){while (right - leftInclude 1){const auto mid leftInclude (right - leftInclude) / 2;if (pr(mid)){leftInclude mid;}else{right mid;}}return leftInclude;} }左闭右开 左开右闭的例子 LeetCode33: C算法二分查找旋转数组 class Solution { public:int search(vectorint nums, int target) {int rBegin NBinarySearch::FindFrist(-1, (int)nums.size() - 1, [](const int mid) {return nums[mid] nums.back(); });if (target nums.back()){return Find(nums, rBegin, nums.size(), target);}return Find(nums, 0, rBegin, target);}int Find(const vectorint nums, int left, int r, int target){int iRet NBinarySearch::FindEnd(left,r, [](const int mid) {return nums[mid] target; });return (target nums[iRet]) ? iRet : -1;} }; int main() {vectorint vNums { 1,2,3,4,6 };auto res Solution().search(vNums, 4);std::cout index: res;if (-1 ! res){std::cout value: vNums[res];} }左闭右开的例子 Leetcode2790:C二分查找算法的应用长度递增组的最大数目 namespace NBinarySearch {templateclass INDEX_TYPE,class _PrINDEX_TYPE FindFrist(INDEX_TYPE left, INDEX_TYPE rightInclue, _Pr pr){while (rightInclue - left 1){const auto mid left (rightInclue - left) / 2;if (pr(mid)){rightInclue mid;}else{left mid;}}return rightInclue;}templateclass INDEX_TYPE, class _PrINDEX_TYPE FindEnd(INDEX_TYPE leftInclude, INDEX_TYPE right, _Pr pr){while (right - leftInclude 1){const auto mid leftInclude (right - leftInclude) / 2;if (pr(mid)){leftInclude mid;}else{right mid;}}return leftInclude;} }class Solution { public:int maxIncreasingGroups(vectorint usageLimits) {m_c usageLimits.size();m_v usageLimits;sort(m_v.begin(), m_v.end());auto Can [](int len){int i m_c - 1;long long llNeed 0;for (; len 0; len--, i--){llNeed - (m_v[i] - len);if (m_v[i] len){llNeed max(0LL, llNeed);}}for (; i 0; i--){llNeed - m_v[i];}return llNeed 0;};return NBinarySearch::FindEnd(1, m_c 1, Can);}int m_c;vectorint m_v; }; templateclass T void Assert(const T t1, const T t2) {assert(t1 t2); }templateclass T void Assert(const vectorT v1, const vectorT v2) {if (v1.size() ! v2.size()){assert(false);return;}for (int i 0; i v1.size(); i){Assert(v1[i], v2[i]);} }int main() {Solution slu;vectorint usageLimits;int res 0;usageLimits { 2,2,2 };res slu.maxIncreasingGroups(usageLimits);Assert(res, 3);usageLimits { 1,2,5 };res slu.maxIncreasingGroups(usageLimits);Assert(res, 3);usageLimits { 2,1,2 };res slu.maxIncreasingGroups(usageLimits);Assert(res, 2);usageLimits { 1,1 };res slu.maxIncreasingGroups(usageLimits);Assert(res, 1);//CConsole::Out(res); }左闭右开的应用 C二分查找算法的应用最小好进制 Is 计算是否存在m位 k进制的1为目标数。m位iRet 进制1大于等于目标数可能有多个符合的iRet取最小值。非最小值一定不是。 namespace NBinarySearch {templateclass INDEX_TYPE,class _PrINDEX_TYPE FindFrist(INDEX_TYPE left, INDEX_TYPE rightInclue, _Pr pr){while (rightInclue - left 1){const auto mid left (rightInclue - left) / 2;if (pr(mid)){rightInclue mid;}else{left mid;}}return rightInclue;}templateclass INDEX_TYPE, class _PrINDEX_TYPE FindEnd(INDEX_TYPE leftInclude, INDEX_TYPE right, _Pr pr){while (right - leftInclude 1){const auto mid leftInclude (right - leftInclude) / 2;if (pr(mid)){leftInclude mid;}else{right mid;}}return leftInclude;} }class Solution { public:string smallestGoodBase(string n) {long long llN 0;for (const auto ch : n){llN (llN * 10 ch - 0);}for (int i 70; i 2; i--){long long llRet Is(i, llN);if (llRet 0){return std::to_string(llRet);}}return std::to_string(llN - 1);}long long Is(int m, long long n){int iRet NBinarySearch::FindEnd(2LL, n 1LL, [](const auto mid) {return Cmp(mid, m, n) 0; });return (0 Cmp(iRet,m,n))? iRet : 0;}//k进制的m个1和n的大小比较,n大返回正数相等返回0n小返回负数long long Cmp(long long k, int m, long long n){long long llHas 1;for (; m 0; m--){if (n llHas){return -1;}n - llHas;if (m 1){// 最后一次llHas并不使用所以越界不影响if (LLONG_MAX / k llHas){return -1;}llHas * k;}}return n;} };templateclass T void Assert(const T t1, const T t2) {assert(t1 t2); }templateclass T void Assert(const vectorT v1, const vectorT v2) {if (v1.size() ! v2.size()){assert(false);return;}for (int i 0; i v1.size(); i){Assert(v1[i], v2[i]);} }int main() {Solution slu;string res;res slu.smallestGoodBase(470988884881403701);Assert(res, std::string(686286299));res slu.smallestGoodBase(2251799813685247);Assert(res, std::string(2));res slu.smallestGoodBase(13);Assert(res, std::string(3));res slu.smallestGoodBase(4681);Assert(res, std::string(8));res slu.smallestGoodBase(1000000000000000000);Assert(res, std::string(999999999999999999));res slu.smallestGoodBase(1333);Assert(res, std::string(36));res slu.smallestGoodBase(463381);Assert(res, std::string(463380));//CConsole::Out(res); }扩展阅读 视频课程 有效学习明确的目标 及时的反馈 拉伸区难度合适可以先学简单的课程请移步CSDN学院听白银讲师也就是鄙人的讲解。 https://edu.csdn.net/course/detail/38771 如何你想快 速形成战斗了为老板分忧请学习C#入职培训、C入职培训等课程 https://edu.csdn.net/lecturer/6176 相关下载 想高屋建瓴的学习算法请下载《喜缺全书算法册》doc版 https://download.csdn.net/download/he_zhidan/88348653 我想对大家说的话闻缺陷则喜是一个美好的愿望早发现问题早修改问题给老板节约钱。子墨子言之事无终始无务多业。也就是我们常说的专业的人做专业的事。如果程序是一条龙那算法就是他的是睛 测试环境 操作系统win7 开发环境 VS2019 C17 或者 操作系统win10 开发环境 VS2022 C17 如无特殊说明本算法用**C**实现。
http://www.sadfv.cn/news/20672/

相关文章:

  • 深圳做网站 汉狮网络asp网站首页模板
  • 做网站找哪家好?聚禄鼎科技是一家给企业做网站的公司WordPress星光主题
  • 做医疗网站需要跨境电商平台有哪些新手入门
  • 没有营业执照怎么样做百度企业网站网络维护技术
  • 广州网站设计 信科网络seo从入门到精通
  • 网站手机app开发php网站开发教学
  • 网站制作费用预算表wordpress网站 frp穿透
  • 韶关做网站的公司龙岗门户
  • 手机网站左右滑动哪里可以鉴定钻石
  • 个人网站做博客还是做论坛iis7添加php网站
  • 公司网站备案信息查询郑州代理记账
  • 网站建设的目标和需求广州开发区官网
  • 建房的网站网站建站报价
  • 做自适应网站设计什么软件可以做动画视频网站
  • icp备案网站快速备案专家网站怎么做自营销
  • 可以做请柬的网站网络舆情事件案例
  • 精准扶贫电商网站建设计划书有没有专业做淘宝网站吗
  • 怎么在网上做网站织梦音乐网站模板
  • wordpress做大型网站中国建设银行网站公积金查询系统
  • 网站后台怎么不能上传图片wordpress改后台登录地址
  • 实力网站开发广州越秀区核酸检测点
  • 电商网站模板html减肥网站模板
  • 做网站竞价没有点击率php7.1 WordPress
  • 拥有服务器后如何做网站网站建设设计文档模板
  • 台州网站优化方案网站开发和程序开发
  • 电商网站后台建设莱芜做网站
  • wordpress电影站开发淘宝详情页设计模板
  • 丹东做网站网站建设常规尺寸
  • 中英文双语企业网站iis 创建网站
  • 问卷星网站开发市场调查问卷ui培训费