摘要: 概述 在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点” 阅读全文
posted @ 2019-12-01 08:32 飞翔在天 阅读(146) 评论(0) 推荐(0) 编辑
摘要: ~ 参考 5min学算法公众号 概述 在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。 适用 阅读全文
posted @ 2019-12-01 08:30 飞翔在天 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 概述 Dynamic programming,缩写:DP 通过空间换取时间的算法思想 通过将原问题分解为相对简单的子问题的方式来求解复杂问题。通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量:一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解 阅读全文
posted @ 2019-12-01 08:27 飞翔在天 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 来源:W3CSCHOOL 架构师之路 一、秒杀业务为什么难做 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米 阅读全文
posted @ 2019-11-26 00:06 飞翔在天 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 参考:https://tech.ctrip.com/articles/a_architecture/13266/ 1分钟售票8万张!门票抢票背后的技术思考 转载自:中华石杉公众号 关键词:高性能、动静分离、热点优化、系统优化、一致性(库存扣减准确性)、高并发读写、高可用(流量削峰、)、缓存失效和命中 阅读全文
posted @ 2019-11-26 00:01 飞翔在天 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 3、基本解题步骤或方法: 1) 明确递归函数功能。一定要明确递归程序的功能,对递归程序要完成的功能模棱两可、一知半解,往往导致逻辑混乱,写不出正确的递归程序。 2) 找出递归终止条件。所谓递归,就是在函数内部代码调用函数本身,所以,我们必须要找出递归的结束条件,否则,就会一直调用自己,陷入死循环。也 阅读全文
posted @ 2019-11-20 20:32 飞翔在天 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 一、特征二维数组数字查找 题目:二维数组中,每行从左到右递增,每列从上到下递增;完成一个函数: 要求:输入该数组和待查找数字,判断是否可查找到该数字; // 从数组右上角启动查询,根据查询结果判断行和列下标的变化,逐渐缩小查找范围 private static boolean findValueIn 阅读全文
posted @ 2019-10-30 11:58 飞翔在天 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 转自:Java极客技术公众号 在 Map 家族中,WeakHashMap 是一个很特殊的成员,从名字上看与 HashMap 相关,但是与 HashMap 有着很大的差别,翻译成中文后表示弱 HashMap,俗称缓存 HashMap。 01、摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 H 阅读全文
posted @ 2019-10-27 11:14 飞翔在天 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 字符串操作:旋转字符串、字符串包含、字符串转换成整数、回文判断、最长回文子串、字符串的全排列 数组问题:寻找最小的K数,寻找和为定值的两个数、寻找和为定值的N个数、跳台阶 其他技巧:bitmap、异或、字典树 辅助学习: 1、数据结构和算法动态可视化 https://visualgo.net/zh 阅读全文
posted @ 2019-10-23 21:51 飞翔在天 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 概述 分治,就是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 分治法常常跟递归一起使用,借助递归,我们可以方便地将问题分解再将结果合并。 解题思路: 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相 阅读全文
posted @ 2019-10-23 21:32 飞翔在天 阅读(161) 评论(0) 推荐(0) 编辑