- 博客(17)
- 收藏
- 关注
原创 x 的 n 次幂
实现 x 的 n 次幂,要求复杂度:O(logn)首先循环相乘是不可能的了,第一想法是二分法,我们还要考虑,幂数是否为负,为负的话可以转换位正数幂:2^-2=(1/2)^2;二分法可以有两种写法,第一种是递归代码如下: private double Power(double x, int n) { long i = n; if (i ...
2018-07-31 14:34:12 755
原创 炸弹袭击(MaxKilledEnemies)
/* * 给一个二维矩阵, 每一个格子都可能是一堵墙 W, 一个敌人 E 或者空 0 (数字 '0'), 返回你可以用 * 一个炸弹杀死的最大敌人数. 炸弹会杀死所有在同一行和同一列没有墙阻隔的敌人, 因为墙比较坚 * 固难以摧毁. * * 0 E 0 0 * E 0 W 0 * 0 E 0 E * ...
2018-07-26 15:18:10 361
原创 有效岛屿个数(NumOflands)
/* * 给一个01矩阵,求不同的岛屿的个数。 * 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 * * eg * [ [1, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 1],...
2018-07-26 15:00:46 317
原创 生成括号
/* * 生成括号 * 给定 n 对括号,请写一个函数以将其生成新的括号组合,并返回所有组合结果。 * 给定 n = 3, 可生成的组合如下: * "((()))", "(()())", "(())()", "()(())", "()()()" * * * 题目描述很简单,也很明白关键时...
2018-07-26 14:48:08 466
原创 有效括号对
/* 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列。 * 括号必须依照 "()" 顺序表示, "()[]{}" ,"({}[()])"是有效的括号,但 "([)]"则是无效的括号。 */看到这道题很容易想到栈操作,题目很简单不多说 private bool Is...
2018-07-26 14:35:30 344
原创 BST中任意两节点差的绝对值最小值(MinimumAbsoluteDifferenceinBST)
这道题考察的是二叉搜索树的遍历,二叉搜索树常用的遍历有前序遍历,中序遍历,后序遍历,其中中序遍历的结果是有序的,这道题利用的是中序遍历 private int min = int.MaxValue; int? temp = null; int GetMinimumDifference(TestMethod.TreeNode head) { i...
2018-07-26 14:24:19 1265
原创 区间插入并合并(InsertInterval)
/* * 区间合并 * 在一个有序不重合和区间组中插入一个新区间,确保新的区间组有序且不重合 * eg; * Insert (2, 5) into [(1,2), (5,9)], we get [(1,9)]. * Insert (3, 4) into [(1,2), (5,9)], we get [(1,2), (3,...
2018-07-26 11:42:02 401
原创 区间合并(IntervalMerging)
/* 区间合并 给出若干闭合区间,合并所有重叠的部分。 * [ [ (1, 3), (1, 6), (2, 6), => (8, 10), (8, 10), (15, 18) (15,...
2018-07-26 10:49:30 706
原创 最长文件路径名(Longest Absolute File Path)
/* * 假设我们通过以下的方式用字符串来抽象我们的文件系统: * 字符串"dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext"代表了: * dir * subdir1 * subdir2 * file...
2018-07-26 10:22:57 734
原创 Beautiful Arrangement
* 定义 BeautifulArrangement 数列满足: * i位置的数能被i整除,或者i能整除i位置的数 * 有N个正整数 1 到 N,求能组合成 BeautifulArrangement 数列的个数 int res = 0; private int BeautifulArrangement(int N) { if (N &...
2018-07-13 18:29:43 295
原创 Twitch Words
* 我们正常的单词不会有连续两个以上相同的字母,如果出现连续 *三个* 或以上的字母,那么这是一个抽搐词。 * 现在给一个单词,从左至右求出所有抽搐字母的起始点和结束点。 * eg: * 1.给出 str = "whaaaaatttsup", 返回 [[2,6],[7,9]]。 * 2.给出 str = "whooooisssbesssst",...
2018-07-13 18:02:46 335
原创 Reverse Vowels
* Write a function that takes a string as input and reverse only the vowels of a string * 意思就是将给定字符串中所有元音字母前后对调 * Given s = "hello", return "holle".sannereoooo * Given s = "linatcode"...
2018-07-13 17:58:18 212
原创 Find The Differenc
*Given two strings s and t which consist of only lowercase letters. * String t is generated by random shuffling string s and then add one more letter at a random position. * Find the lett...
2018-07-13 17:49:11 168
原创 Add Strings
* 以字符串的形式给出两个非负整数 num1 和 num2,返回 num1 和 num2 的和。 * num1 和 num2 的长度都小于5100。 * num1 和 num2 都只包含数字 0-9。 * num1 和 num2 都不包含任何前导零。 * 您不能使用任何内置的BigInteger库内的方法或直接将输入转换为整数。 * eg: ...
2018-07-13 17:13:44 183
原创 栅栏染色问题
有一个栅栏,它有 n 个柱子,现在要给柱子染色,有 k 种颜色可以染。必须保证不存在超过2个相邻的柱子颜色相同,求有多少种染色方案。 * 分析: * 1.这是一个典型的动态规划问题,我们一样从最后的情况开始讨论 * 2.设num[i]为有i个柱子的染色方案,他可以分为两种情况 * ·最后两根主子颜色相同:不能连续三根柱子颜色相同故...
2018-07-13 17:02:10 730
原创 Binary Tree Paths
//求一个二叉树从头节点到叶子节点的所有路径//叶子节点:二叉树中没有子节点的节点称为叶子节点 1 / \ 2 3 \ 5 返回: [ "1->2", "1->3->5" ]思路:要求所有路径,首先...
2018-07-13 16:38:01 260
原创 PlusOne
/*给定一个非负数,用一个数组表示各个位上的数,返回这个数加1后组成的新数组 *eg. * 给定 [1,2,3] 表示 123, 返回 [1,2,4]. * 给定 [9,9,9] 表示 999, 返回 [1,0,0,0]. */分析:主要考虑进1的情况,如果最高位加1 后需要进1,则新数组就会比原数组多一个数解法一:利用栈先进后出特性存储每一位数 pr...
2018-07-13 16:20:32 190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人