算法题
工程师小星星
科学和技术实际上以”流水线“模式衔接推进——基础研究发现原理,规律,打开视野和思路;应用研究探究其技术或商业的可行性;(R&D)技术开发把成果制成有用的产品。
科技洪流终究是不可阻挡的——不管人们对它的永不知足,永无止境是欢欣还是忧虑。
展开
-
C++标准库常用算法
常用标准库算法:find(beg, end, val); 根据equal操作符,循序查找[first, last)内所有的元素,找出第一个匹配“等同条件者”。如果找到,就返回一个指向匹配元素的迭代器,否者返回迭代器end()。equal(beg1, end1, beg2); 确定两个序列是否相等。如果输入范围中的每个元素都与从beg2开始的序列中的对应元素相等,就返回true;min(val1, val2); 返回两个数中的大数max(val1, val2); 返回两个数中的小数min_e原创 2020-06-19 23:48:12 · 1194 阅读 · 0 评论 -
动态规划-剪绳子问题
题目给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m-1]。请问k[0]×k[1]×…×k[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。题目解析首先题目描述并不是很清楚,我看了一下,比较准确的描述是,绳子分成m个部分,也就是m段。默认的条件是绳子不能不被分割,也就是至少被分为两个部分m、n都是整数,n>1并且m>原创 2020-05-31 23:01:52 · 2641 阅读 · 0 评论 -
多线程编程之交替打印(leetcode 1115)
题目我们提供一个类:class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { print("bar"); } }}两个不同的线程将会共用一个 FooBar 实例。其中一个线程将会调用 foo() 方法,另一个原创 2020-05-26 17:10:27 · 349 阅读 · 0 评论 -
多线程编程之按序打印(leetcode 1114)
题目描述提供了一个类:public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B 将会调用 two() 方法线程 C 将会调用 three() 方法请设计修改原创 2020-05-26 16:35:10 · 346 阅读 · 0 评论 -
小猴子下落问题(二叉树)
小猴子下落(二叉树基础题)时间限制:3000 ms | 内存限制:65535 KB 难度:3描述有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小猴...原创 2020-04-25 18:15:40 · 1618 阅读 · 0 评论