- 2024-11-04Leecode热题100-78.子集
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[],[0]]提
- 2024-10-05经典递归
master公式所有子问题规模相同的递归才能用master公式:T(n)=a*T(n/b)+O(n^c),a、b、c为常数若log(b,a)<c,复杂度为O(n^c),log(b,a)是以b为底a的对数若log(b,a)>c,复杂度为O(n^log(b,a))若log(b,a)=c,复杂度为O(n^c*logn)T(n)=2*T(n/2)+O(n*longn),时间复杂度为O(n*(lo
- 2024-09-19代码随想录算法 - 回溯算法2
之前做题给的题解都太混乱了,我决定好好按照思路写题解。题目139.组合总和给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidate
- 2024-09-18Dijkstra 算法
普通堆实现的Dijkstra算法时间复杂度为O(m*logm),m为边数distance[i]表示从源点到i点的最短距离,visited[i]表示i节点是否从小根堆弹出过准备好小根堆,小根堆存放记录:(x点,源点到x的距离),小根堆根据距离排序令distance[源点]=0,(源点,0)入堆从小根堆弹出(u
- 2024-09-18代码随想录算法 - 回溯算法1
题目177.组合给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。示例1:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例2:输入:n=1,k=1输出:[[1]]提示:1<=n<=201<=k<=
- 2024-09-08844. 比较含退格的字符串
c++字符串还是不太熟练classSolution{public:boolbackspaceCompare(strings,stringt){returndealString(s)==dealString(t);}private:stringdealString(conststring&s){stringret;intcurIndex=0;while(
- 2023-11-0910-前缀树
10.前缀树(trie)8.1前缀树概念1.前缀树概念1)单个字符串中,字符从前到后的加到一棵多叉树上2)字符放在路上,节点上有专属的数据项数据项pass:有多少路径经过了这个点数据项end:有多少路径是以这个点结尾3)所有样本都这样添加,如果没有路就新建,如有路就复用4)沿途节点的pass值增
- 2023-10-31回溯-组合问题
什么是组合问题?从N个数里面,选K个数,一共有多少种组合方式?最基本的回溯,我们需要注意1.终止条件2.for循环横向3.回溯纵向4.剪枝如果要将回溯的过程可视化的话,我会选择画一个树,回溯的过程就是dfs这个树的过程。继续拓展之、、、选K个数,和为target?回溯三件套+终
- 2023-10-06自定义表单设计之六-行字段计算配置
AddFormRowCal.aspx<htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>行字段规则</title><scriptlanguage="javascript">functionsaveRole(){rowcalfrm