Min Cost Climbing Stairs [746] 题目描述 简单来说就是:要跳过当前楼梯需要花费当前楼梯所代表的价值cost[i], 花费cost[i]之后,可以选择跳一阶或者两阶楼梯,以最小的代价达到楼层,也就是跨过所有楼梯 问题解决 穷举法 从第一阶楼梯开始,遍历所有可能的情况,然后 ...
分类:
其他好文 时间:
2019-01-13 10:22:52
阅读次数:
173
时间复杂度 时间复杂度描述了当输入规模变大时,程序运行时间的变化程度,通常使用$O$来表示。比如单层循环的时间复杂度为$O(n)$,也就是说程序运行的时间随着输入规模的增大线性增长,两层循环的时间复杂度为O$(n^2)$,快速排序的时间复杂度为$O(nlogn)$,使用穷举法解决旅行商问题的时间复杂 ...
分类:
其他好文 时间:
2018-12-23 22:05:38
阅读次数:
458
摘要(以下内容来自百度) Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。 该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。 简介编辑 在计算机科学中,Floyd Warsha ...
分类:
其他好文 时间:
2018-12-18 21:21:55
阅读次数:
1429
求最大连续子数组和问题 sample input: -1,4,-3,6,-20,4,-2,5 sample output: 7 最容易想到的就是暴力解决方法,穷举所有连续子数组的可能性,进行比较,复杂度O(n2) 代码略 复杂度为O(n)的算法: 输出结果为“max sum of submatrix ...
分类:
编程语言 时间:
2018-12-10 15:36:49
阅读次数:
181
1、变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域,叫window, window分为两个模块,一个叫做内存模块,一个叫做运行模块,内存模块找到当前作用域下的 所有带var和function的关键字,执行代码执行js代码,从上到下执行,遇到变量就会通过内存地址 ...
分类:
Web程序 时间:
2018-12-02 21:13:25
阅读次数:
235
转自:https://www.cnblogs.com/ysugyl/p/8711205.html Grid Search:一种调参手段;穷举搜索:在所有候选的参数选择中,通过循环遍历,尝试每一种可能性,表现最好的参数就是最终的结果。其原理就像是在数组里找最大值。(为什么叫网格搜索?以有两个参数的模型 ...
分类:
其他好文 时间:
2018-11-24 15:42:16
阅读次数:
227
模板方法是一种行为型模式,执行流程固定,但中间有些步骤有细微差别的。官方的定义是:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。下面使用穷举法举几个例子: 1.西游记里面菩萨定好的 81 难,这就是一个顶层的逻辑骨架。 ...
分类:
其他好文 时间:
2018-11-13 14:31:12
阅读次数:
163
1.实践题目 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 a.建立一个与输入二维数组等大的中间二维数组; b.将二维数组代表的数组金字塔的底层输入到中 ...
分类:
编程语言 时间:
2018-11-12 01:17:32
阅读次数:
270
title: 串的模式匹配算法之kmp tags: 数据结构与算法之美 author: 辰砂 1.引言 首先我们需要了解串的模式算法目的:确定主串中所含子串第一次出现的位置(定位);常见的算法种类: BF算法(又称古典的、经典的、朴素的、穷举的),KMP算法(特点:速度快)。网上有很多帖子,博客写的 ...
分类:
编程语言 时间:
2018-11-05 13:33:01
阅读次数:
191
"97. 交错字符串" 题不难,dfs加回溯即可。实际上就是暴力搜索,穷举所有选择路径。 以s3的每一个字母做一个状态,就面临两个抉择,选s1还是选s2。选s1路不通的话,回溯回来改选s2即可。 class Solution { // 状态:String s1, String s2, String ...
分类:
其他好文 时间:
2018-11-04 23:59:14
阅读次数:
286