
算法分析
DEUSJIN
这个作者很懒,什么都没留下…
展开
-
寻找两个有序数组的中位数(更新一种解决方案)
题目见https://blog.youkuaiyun.com/qq_35684046/article/details/104330155法一:我们用两个指针i,j,分别指向n1与n2遍历(len1+len2+1)/2次后跳出循环。pre = now;(1)如果i<n1.lenth&&(j>=n2.lenth||n1[i]>n2[i]),令now = n1[i++]。...原创 2020-02-18 10:40:49 · 374 阅读 · 0 评论 -
最长公共子数组(与子串同理)
最长公共子串首先注意子串和子序列的区别:一个字符串 s 被称作另一个字符串 S 的子串,表示 s 在 S 中出现了;一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。(定义引用LeetCode 1143)举例:1、s1: qwerdf, s2: qtwtetr (qwer为最长公共子序列)2、...原创 2020-01-29 08:41:34 · 957 阅读 · 0 评论 -
类似快速排序法求解三色砾石排序问题
题 目:设有顺序放置的n个桶,每个桶中装有一粒砾石,每粒砾石的颜色是红、白、蓝之一。要求重新安排这些砾石,使得所有红色砾石在前,所有白色砾石居中,所有蓝色砾石居后。重新安排时,对每粒砾石的颜色只能查看一次,并且只允许交换操作来调整砾石的位置。想法:1、用三个指针 i, j, k 分别表示红色砂砾,白色砂砾的后项下标,以及当前处理的砂砾的下标。1,2,3分别表示红白蓝砂砾。2、初值,给i =...原创 2019-12-25 17:25:10 · 3632 阅读 · 1 评论