岛屿数量 📅 2019-12-03 · ☕ 2 min read 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围
BFS 广度优先搜索 📅 2019-11-30 · ☕ 1 min read 之前看过的 BFS(Breadth First Search), 最近遇到类似问题时却没有想起. 在此再回顾一下, 并留下记录. 好记性毕竟不如坏笔头.
DNA合成问题 📅 0001-01-01 · ☕ 1 min read DNA分子是以4种脱氧核苷酸为单位连接而成的长链,这4种脱氧核苷酸分别含有A,T,C,G四种碱基。 碱基互补配对原则:A和T是配对的,C和G是
QuickSort快排 📅 0001-01-01 · ☕ 1 min read 快速排序-维基百科 一次快排分区的结果 class QuickSort { private int[] mArray; public QuickSort(int[] array) { this.mArray = array; } private void swap(int from, int to) { int t = mArray[from]; mArray[from] = mArray[to]; mArray[to] = t; } /** * 分区(原地版本) * * @param left 数组左侧 * @param
循环单词问题 📅 0001-01-01 · ☕ 1 min read 如果一个单词通过循环右移获得的单词,我们称这些单词都为一种循环单词。 例如:picture 和 turepic 就是属于同一种循环单词。 现在给出n个单词,需要统
斐波拉契数列 📅 0001-01-01 · ☕ 1 min read 斐波拉契数列的第n项 斐波拉契数列: a(0) = 0 a(1) = 1 a(2) = 1 a(n) = a(n-1) + a(n-2) 递归实现 1 2 3 4 5 6 7 8 long fab1(int n) { if (n < 3) { return 1; } return fab1(n - 2) + fab1(n - 1); } 「遍历数组」
求最大公约数、幂运算 📅 0001-01-01 · ☕ 1 min read 求两个数的最大公约数 1 2 3 4 5 6 7 8 long gcd(long m, long n) { while (n != 0) { long ren = m % n; m = n; n = ren; } return m; } 幂运算 时间复杂度为O(logN)的算法 1 2 3 4 5 6
进制均值 📅 0001-01-01 · ☕ 1 min read 一个数A,如果按2到A-1进制表达时,各个位数之和的均值是多少? 结果用最简分数表示。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
连续整数 📅 0001-01-01 · ☕ 2 min read 牛牛的好朋友羊羊在纸上写了n+1个整数,羊羊接着抹除掉了一个整数,给牛牛猜他抹除掉的数字是什么。牛牛知道羊羊写的整数神排序之后是一串连续的正