经典组合问题
经典组合问题
在Leetcode刷过回溯算法的同学应该都知道,组合问题是回溯算法中经典的一种题型
本篇博客给大家介绍的就是组合问题三兄弟:
39.数组总和
40.数组总和II
216.数组总和III
为什么我想说说这三道题呢,因为这三道题的本质就是套回溯算法的模版
属于只要弄明白了,那么组合问题就一定没问题了,甚至大部分的回溯算法问题也能够解决
回溯法(back tracking)(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回到上一步,重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。
回溯算法的关键在于找到终止条件,无论是子过程结束的终止条件,还是回退到上一步的终止条件.
例如 39数组总和 这道题中子过程的终止条件为
1234if(target==0){ ans.add(new ArrayList<>(list)); return;}
回退到上一步的终止条件为
123if(target-candidates ...
估值原理听后感
估值原理听后感
写本文的原因是在小宇宙上听了面基的一期播客:《估值原理》:从没想过还可以这么看估值!,给了我一些思考和启发
估值
估值是指评定一项资产当时价值的过程,这是百度百科的定义
那价值又是什么呢?价值,泛指客体对于主体表现出来的积极意义和有用性.这也是百度百科的定义.
所以说价值这个东西是因人而异的,每个人都有不同的观念,他们对同一样资产(物品)的看法是不同的,因而同一样资产对不同人来说具有不同的价值.
比如说,钻石,对于我这种理工科直男来说就是好看一点的碳,没有特殊的价值,但在另一些人眼里就是爱情的象征.
可虽然对不同的人来说资产的价值是有很大差异的,但是这些资产在市场上基本有着相对稳定的价格,这就可以引出这本书的一个观点:价值游戏论
价值游戏论
价格是估值的最直观体现,所以人们总觉得,估值来源于交易,而交易脱胎于市场.但这其实是一种误解,市场只是提供了交易便利和清算服务而已,估值来自社会
如果一个社会要提倡某种价值观,就一定会用相应的资产去体现这种价值观.或者说,当一个社会决定用一场游戏来解决某个社会问题时,他们会根据情况选择是棒球赛还是足球赛还是篮球赛
这场游戏需要一些 ...