![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 51
海里有太阳
未来未来
展开
-
桶算法学习
空间复杂度估算:一般题目复杂度:256M -> 8e7个 int写代码之前要清楚自己能不能用双重for循环子问题能否在O(1)内解决例题:珂朵莉与宇宙什么是子序列什么是空间复杂度转换等式解题思维桶的应用第一次尝试:MLE、TLEpackage niuke;import java.util.ArrayList;import java.util.Scanner;public class CadolliAndTheUniverse { public static原创 2022-06-01 13:45:30 · 89 阅读 · 0 评论 -
深度优先搜索
递归递归:解决子问题的方法和当前问题一致(可以把当前问题拆分成若干个子问题。基本上所有问题都可以搜索。递归终止条件dfs深度优先搜索这个概念基于递归,两者之间没有明显的概念。主要区别是搜索基于全局去搜索的,递归是拆分子问题。例如:八皇后问题(8x8的棋盘内,放置八个皇后,让皇后不能互攻)每一行只能有一个皇后,不知道在哪朴素方法:4层for循环 (=>n皇后问题:最多能放几个皇后)伪代码...原创 2022-06-01 13:44:55 · 81 阅读 · 0 评论 -
广度优先搜索
广度优先搜索,首先一定是记忆化搜索(带有记忆化数组)初次之外,还有访问标记。例题:最后的迷宫队列:Queue每一步都保证是对的,这样就不会返回重新算很多遍原创 2022-06-01 13:44:05 · 82 阅读 · 0 评论 -
dfs深度优先搜索实现排列组合
在系统sku的设计中,需要代码生成数据参考链接:电商系统sku设计以下代码使用深度优先搜索组合生成mall_product_spec表getProductSpec是数据接口,调用后即可生成代码dfs是深度优先搜索算法,if用于处理边界值,在dep不加一的情况下执行最后一次排列组合,else为一般情况的递归调用模块,实现主要的属性生成,即value_ids(此属性为valueSpec表的主键id,以字符串格式append,以逗号分隔),生成的ansstr即为mall_product_spec表每一行的原创 2021-07-21 17:11:13 · 290 阅读 · 0 评论 -
前缀和(解决超时)
LightItUP(时间复杂度估算例题)计算机一秒只能运算1e8次,本题中时间限制其他语言2秒,由于Java跑的慢,理论上是2e8,但是当作1e8次。import java.util.ArrayList;import java.util.Scanner;public class lightItUp { public static void main(String[] args) { Scanner sc= new Scanner(System.in); A原创 2021-08-21 11:32:42 · 203 阅读 · 0 评论 -
二分查找算法学习及示例
第一天写力扣给了这个题,T-T有被自己菜瞎《第一个错误版本》思路1第一次思路错误,想的是与快速排序相似的//首先测试二分的那个//如果运行错误的话,向前运行二分的那个//递归该函数//如果运行正确的话,向后运行二分的那个//跳出条件想不出来了呜呜这个思路错误的原因是:找不到出口错误1这个思路错误的原因是:当输入n= 0、1 时,while循环进不去怎么办?只能输出mid。事实上这时候输出left就可以了。但是我又进入了错误二:public class Solution exten原创 2021-07-07 17:23:53 · 157 阅读 · 0 评论 -
双指针算法学习及示例
题:159.旋转数组解法一:常用public static void rotate1(int[] nums, int k) { int a[]=new int [nums.length]; for (int i=0;i<nums.length;i++){ a[i]=nums[(i-(k%nums.length)+nums.length)%nums.length]; System.out.print("a"+a[i]); System.原创 2021-07-08 12:13:25 · 99 阅读 · 0 评论