算法
YABAJ
这个作者很懒,什么都没留下…
展开
-
数据结构循环队列斐波拉契数列的实现(c语言)
这里提一下简单斐波拉契数列第n项求法(python):def fab(n): if n < 1: print('输入有误!') return -1 if n == 1 or n == 2: return 1 else: return fab3(n - 1) + fab3(n - 2)temp...原创 2019-12-26 15:06:08 · 898 阅读 · 0 评论 -
贪心算法
文章目录背包问题动态规划贪心算法的基础,因为贪心法与动态规划都利用了最优子结构的性质(对于一个问题来说,如果它的一个最优解包含了其子问题的最优解,则称该问题具有最优子结构)。所有的贪心算法均可用动态规划实现。贪心算法通常是自顶向下,从最上层的子问题开始,做出贪心选择,只选出当时最优的子问题,在对最优子问题的子问题进行贪心选择,这样一层层的做着贪心选择,不断的将问题规约为更小的问题。重点是要采用...原创 2019-04-02 18:23:19 · 426 阅读 · 0 评论 -
动态规划的一些经典算法
文章目录装配线调度矩阵链相乘装配线调度求解一个制造问题。汽车公司在有两条装配线的工厂内生产汽车,如图所示。一个汽车底盘在进入每一条装配线后,在一些装配站中会在底盘上安装部件,然后,完成的汽车在装配线的末端离开。每一条装配线上有n个装配站,编号为j=1,2,⋯,n。将装配线i(i为1或2)的第j个装配站表示为Si,j,装配线1的第j个站(S1,j)和装配线2的第j个站(S2,j)执行相同的功...原创 2019-03-21 16:43:56 · 824 阅读 · 0 评论 -
红黑树
文章目录红黑树基础性质理解旋转操作插入元素删除元素我们知道,一棵高度为h的二叉查找树可以实现任何一种基本的动态集合操作,增删查找等,其时间都是O(h)。这样,当树的高度比较低是,这些操作就会执行得比较快;但是,当树的高度较高且偏向于只有一根树枝时,这些操作的性能可能不比用链表好。红黑树(red-black tree)是许多的“平衡的”查找树中的一种,他能保证在最坏的情况下,基本的动态集合操作时间...原创 2018-12-12 15:57:39 · 219 阅读 · 0 评论 -
快速排序--排序算法
(1)5 7 1 8 4 5l=0 r=44 7 1 8 7l=1 r=44 1 5 8 7l=2 r=2(2)4 1 5 8 7 4l=0 r=41 4 5 8 71=1 r=1原创 2018-11-19 20:11:53 · 178 阅读 · 0 评论 -
Intersection of Two Arrays II--求交集
题意: 求两集合的交集本来第一个想法是:public int[] intersect(int[] nums1, int[] nums2) { int i = 0, len1 = nums1.length, len2 = nums2.length; List list = new ArrayList<>(); Map map1 = new H原创 2017-08-15 10:30:46 · 356 阅读 · 0 评论 -
Frog Jump--深度遍历,动态规划--leetcode
题意: 给定一串数组,从第一个数字节点开始,向后跳跃,跳跃规则是,只能从0开始跳,最先只能跳到1,设上次跳跃步数为k,接下来可跳的步数是k,k-1,k+1,求是否能够到达最后一个数字(规定只能向后跳跃)。 eg. [0, 1, 3, 5, 6, 8, 12, 17] 0跳k+1=1步到1,上次跳跃步数k=0 1跳k+1=2步到3,上次跳跃步数k=1 3跳k=2步到5,上次跳跃步数k=2原创 2017-08-12 16:18:47 · 897 阅读 · 0 评论 -
Missing Number--^异或位运算--leetcode
Given an array containing n distinct numbers taken from 0, 1, 2, …, n, find the one that is missing from the array. For example, Given nums = [0, 1, 3] return 2. Note: Your algorithm should run in原创 2017-03-24 19:51:49 · 536 阅读 · 0 评论 -
Beautiful Arrangement--深度搜索--leetcode
题意:给一串数,1-N,也就是数组arr[N] (N<=15) 对这串数进行排列,要求给出满足以下要求的排列: arr[i] 能整除 i 或者 i 能整除 arr[i],即arr[i]和arr[arr[i]]相互交换也满足这个条件。用到算法:深度搜索算法(深度优先遍历),利用递归穷举所有可能情况。找出能和s交换的点,设为已读后再继续找能和s-1交换的点,如此继续下去。public class原创 2017-03-23 14:32:44 · 492 阅读 · 0 评论 -
01 Matrix--广度优先遍历bfs--leetcode
Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell. The distance between two adjacent cells is 1. 题意: 给一个矩阵m*n,由0,1组成,求矩阵中的每个1到0的距离,求出的结果放在矩阵中相应的1所在的位置。 Input: 0原创 2017-03-29 16:54:03 · 748 阅读 · 0 评论 -
百度账号选取方案
计蒜客上的一道题百度账号选取方案 呜呜呜,这是一个还没有解决的问题,求大神解答。。。 我理解的意思是从字符串中取两个不相交的子串,如果两个子串的冲突值相等,则选取它。 总感觉我的题意是不是没理解对?运行结果为什么没通过全部测试点 下面是代码:#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.原创 2017-01-03 11:48:37 · 430 阅读 · 0 评论