摘要:
从事Java开发已经快两年了,都说Java并发编程比较难,比较重要,关键面试必问,但是在我的日常开发过程中,还真的没有过多的用到过并发编程;这不疫情嘛,周末不能瞎逛,就看看师傅们常说的 Runnable 线程执行没有返回值,Future、Callable 线程执行有返回值,咱们今天看看是怎么一回事, 阅读全文
摘要:
转载链接:https://mp.weixin.qq.com/s/pHcgkDvKfElRIVZGd4Kzng 1,2,3…… 昂,又到了一年一度的金三银四跳槽季,我身边的小伙伴,一个,两个,三个……慢慢的离职了。 公司的小伙伴,吖脸、佩奇、居易、还有我大哥等等最近也离职了。 佩奇去了我在杭州梦开始的 阅读全文
摘要:
(1)问题描述 在一个圆形操场的四周摆放着 num 堆石子。先要将石子有次序地合并成一堆。规定每次只能选相邻的 2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的耗费力气。试设计一个算法,计算将 n 堆石子合并成一堆的最省力气数。 (2)算法思想 对于给定的 n 堆石子,当只有一堆时,不用搬 阅读全文
摘要:
(1)问题描述 在 n × n 格的棋盘上放置彼此不受攻击的 n 个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 后问题等价于在 n × n 的棋盘上放置 n 个皇后,任何 2 个皇后不放在同一行或同一列或同一斜线上。 (2)算法描述 a. 将第一个皇后放置在第 阅读全文
摘要:
(1)问题描述:子集和问题的一个实例为<data, num>。其中 data = {x1, x2, ......, xn} 是一个正整数的集合,targetValue 是一个正整数。子集和问题判定是否存在 data 的一个子集 data1,使得 x1 + x2 + ...... + xn = tar 阅读全文
摘要:
(1)算法描述 给定 num 种物品和一背包。物品 i 的重量是 weighti > 0,其价值为 pricei > 0,背包的容量为 capacity。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? (2)举例 对于 0-1 背包问题的一个实例,num = 4,capacity = 阅读全文
摘要:
(1)问题描述:有一批共 n 个集装箱要装上 2 艘载重量分别为 capacity1 和 capacity2 的轮船,其中集装箱 i 的重量为 wi,且装载问题要求确定是否有一个合理的装载方案可将这些集装箱装上这 2 艘轮船。如果有,找出一种装载方案。 例如:当 n = 3, capacity1 = 阅读全文
摘要:
(1)问题描述:对于给定的集合 A{a1,a2,...,an},其中的 n 个元素互不相同,如何输出这 n 个元素的所有排列(全排列),时间复杂度为O(2n); 例如:{a, b, c} 全排列:{a, b, c}, {a, c, b}, {b, a, c}, {b, c, a}, {c, a, b 阅读全文
摘要:
一、回溯算法主要思想 回溯法有“通用的解题法”之称。用它可以系统地搜索一个问题的所有解或任一解。回溯法是一个既带有系统性又带有跳跃性的搜索算法,它在问题的解空间树中,按深度优先策略,从根节点出发搜索解空间树。算法搜索至解空间树的任一结点时,先判断该结点是否包含问题的解。如果不包含,则跳过对以该结点为 阅读全文
摘要:
(1)问题描述:给定 n 位正整数 a,去掉其中任意 k <= n 个数字后,剩下的数字按原来次序排列组成一个正整数。对于给定的 n 为正整数 a 和正整数 k 设计一个算法找出剩下数字组成的新数最小的删数方案; (2)算法设计:对于给定的正整数 a,计算删去 k 个数字后得到的最小数; (3)算法 阅读全文