| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 算法学习Day2——C之二分查找与动态规划 -> 正文阅读 |
|
[数据结构与算法]算法学习Day2——C之二分查找与动态规划 |
二分查找:第一个错误版本 题目: ? 思路:划清左右边界,算出分界线, 在某条分界线上,如果这条分界线为true,则分界线左边都是true;那么把左边界设为中线部分,因为第一个错误的地方肯定在于中线的右侧,区间为[mid,right]。如果这条分界线为false,那么错误肯定位于左边,那么把right设置为mid,第一个错误的区间肯定位于[left,mid]。 这种方式不断地缩小查询的空间:
代码:
完全平方数:发现这是一个数学问题 从数学角度: 四平方定理:任何一个正整数都可以表示成不超过四个整数的平方之和。 那先从动态规划定理开始吧: 这个题目有两个条件是平方和又是最小数。其实翻译过来就是,完全平方数为物品(无限使用),凑个正整数n就是背包,那么要凑满这个背包最少需要多少个物品? 完完全全就是背包问题了,那么就是涉及动态规划了。 需要注意的是:
先从动态规划解决这个问题:
? ?
代码:
? 从数学角度解决这个问题: 四平方和定理:四平方和定理_百度百科 同时四平方和定里包含了一个更强的理论: ?那按照图中的思路我们可以写出:
害,怪自己学艺不精了T T。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 13:35:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |