| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子 -> 正文阅读 |
|
[数据结构与算法]Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子 |
2、一个数轴上共有 N 个点,第一个点的坐标是度度熊现在位置,第 N-1 个点是度度熊的家。现在他需要依次的从 0 号坐标走到 N-1 号坐标。 但是除了 0 号坐标和 N-1 号坐标,他可以在其余的 N-2 个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离? 解答: 从 N-2 个坐标中选出一个点,并直接将这个点忽略掉。直接忽略一个点只会直接影响到,这个节点前后节点的距离。这个 影响的距离我们暂且命名为优化距离,将所有节点按顺序组成三个节点的集合,通过这种方式只需要通过一次循环便能得到结果。 优化距离越大说明如果去掉这个集合的中点元素将会使得总距离越短,下面上代码。
3、度度熊最近对全排列特别感兴趣,对于 1 到 n 的一个排列,度度熊发现可以在中间根据大小关系插入合适的大于和小于符号(即 ‘>’ 和 ‘<’ )使其成为一个合法的不等式数列。 但是现在度度熊手中只有 k 个小于符号即(’<’’)和 n-k-1 个大于符号(即’>’),度度熊想知道对于 1 至n 任意的排列中有多少个排列可以使用这些符号使其为合法的不等式数列。 解答: dp[i][j] = (dp[i - 1][j - 1] * (i - j) + dp[i - 1][j] * (j + 1)) % 2017; dp[i][j]表示有 i 个数字及 j 个小于号所能组成的数量(大于号数量当然是 i - j - 1 次,后面需要使用) 而加入第 i + 1 个数字时,分以下四种情况:
综上所述,dp[i][j]等于以上四种情况之和: dp[i - 1][j]?将 i 加在开头等于加入一个大于号,即要求 i-1 个数时已经有了 j 个小于号; dp[i - 1][j - 1]?将 i 加在末尾等于加入一个小于号,即要求 i-1 个数时已经有了 j-1 个小于号; dp[i - 1][j] * j?将 i 加在任意一个小于号之间,等于加入了一个大于号,即要求 i-1 个数时已经有了 j 个小于号,每个小于号都可以进行这样的一次插入; dp[i - 1][j - 1] * (i- j - 1)?将 i 加载任意一个大于号之间,等于加入了一个小于号,即要求i-1 个数时有了 j-1 个小于号; 而此时共有(i - 1) - (j - 1)- 1 个大于号,每个大于号都要进行一次这样的操作合并同类项即为dp[i][j] = (dp[i - 1][j - 1] * (i - j) + dp[i - 1][j] * (j + 1))。 最后要记得取模。 … 由于篇幅原因,我就不一一给大家展示了,需要这套算法面试题的可以跳到文章末尾哦! 于是,我被老大叫去办公室喝茶,然后,就离职了… OS:你TM裁员就裁员,突击测试算怎么回事? 算法课程的具体内容:
于是,我被老大叫去办公室喝茶,然后,就离职了… OS:你TM裁员就裁员,突击测试算怎么回事? 算法课程的具体内容: [外链图片转存中…(img-7hslomnJ-1635177534729)] [外链图片转存中…(img-DDogA2Oi-1635177534730)] [外链图片转存中…(img-CyR4HPX3-1635177534731)] |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 8:23:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |