自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除