自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素每个元素只留下一个。链表的基本操作不多解释 def deleteDuplicates(self, head): if not head: return head cur = head.next pre = head while cur: if cur....

2018-02-11 00:17:00 149

原创 爬楼梯

假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例 比如n=3,1+1+1=1+2=2+1=3,共有3种不同的方法返回 3这道题实际上有些迷惑人    仔细分析如果线条一节就会剩下 f(n-1)种答案    而先跳两节则有 f(n-2)个    总共为发f(n) = f( n  - 1) + f(n - 2)即斐波那契class Solut...

2018-02-11 00:13:52 182

原创 最小路径和

给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。 注意事项 你在同一时间只能向下或者向右移动一步这道题和之前做的一道三角形的动态规划差不多,但是更难一些,例  a b c       d e f      g h i如果要到i就必须从f 或h走,只要选出其中较小的即可,再用递归算出走每一个格的最小数即可,但第一行第一列特殊处理class Solution: ...

2018-02-11 00:09:25 171

原创 删除排序数组中的重复数字Ⅱ

    def removeDuplicates(self, A): # write your code here i = 0 while i < len(A)-2: if A[i] == A[i+2]: A.remove(A[i]) else: ...

2018-02-08 21:57:24 255

原创 删除排序数组中的重复数字

给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 哪家公司问你的这个题? LinkedIn Airbnb Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Uber Google Apple Facebook Bloomber...

2018-02-08 21:51:04 157

原创 二叉树的最大深度

递归不解释class Solution: """ @param root: The root of binary tree. @return: An integer """ def maxDepth(self, root): # write your code here if root == None: ...

2018-02-08 21:47:56 117

原创 平衡二叉树

给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1。 您在真实的面试中是否遇到过这个题? Yes 哪家公司问你的这个题? LinkedIn Airbnb Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Uber Google Apple Facebo...

2018-02-08 21:47:02 132

原创 数字三角形

给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。 注意事项 如果你只用额外空间复杂度O(n)的条件下完成可以获得加分,其中n是数字三角形的总行数。 哪家公司问你的这个题? LinkedIn Airbnb Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Uber Google Apple Fa...

2018-02-08 21:44:15 164

原创 在二叉树中插入节点

给定一棵二叉查找树和一个新的树节点,将节点插入到树中。你需要保证该树仍然是一棵二叉查找树。这道题真的难住我了,难点主要在于挑战说尽量不要用递归,但我想了半天还是没想出办法,只好还是用了递归重建二叉树class Solution: """ @param: root: The root of the binary search tree. @param: node: inser...

2018-02-07 23:53:03 665

原创 落单的数

给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。这个题一开始是想用对列表进行操作的后来觉得麻烦就直接用字典做了 def singleNumber(self, A): numdic = {} for i in A: if i in numdic: numdic[i] +...

2018-02-07 23:50:48 182

原创 中位数

给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。这个题无非也就是排序后判断奇偶 def median(self, nums): nums.sort() num = len(nums) if num % 2 == 0: return nums[nu...

2018-02-07 23:48:32 173

原创 后序遍历二叉树

给出一棵二叉树,返回其节点值的后序遍历。您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题?LinkedInAirbnb Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Uber Google Apple Facebook Bloomberg Zenefits

2018-02-07 00:12:39 194

原创 中序遍历二叉树

给出一棵二叉树,返回其中序遍历您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题? LinkedIn Airbnb Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Uber Google Apple Facebook Bloomberg Zenefits Yelp

2018-02-07 00:10:47 110

原创 前序遍历二叉树

给出一棵二叉树,返回其节点值的前序遍历。您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题? LinkedIn Airbnb Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Uber Google Apple Facebook Bloomberg Zenefits Ye

2018-02-07 00:09:23 122

原创 搜索插入位置

写出一个高效的算法来搜索 m × n矩阵中的值。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每行的第一个数大于上一行的最后一个整数。这道题简单在于不要求插入而是求该插入的位置因此只需比较即可 class Solution: def searchInsert(self, A, target): if not A : retu

2018-02-07 00:06:10 223

原创 搜索二维矩阵

写出一个高效的算法来搜索 m × n矩阵中的值。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每行的第一个数大于上一行的最后一个整数这个题目用python列表简直易如反掌 class Solution: def searchMatrix(self, matrix, target): for i in range(len(matrix)):

2018-02-06 23:59:26 138

原创 翻转字符串

给定一个字符串,逐个翻转字符串中的每个单词。您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题? LinkedIn Airbnb Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Uber Google Apple Facebook Bloomberg Zenefits

2018-01-31 01:13:57 130

原创 比较字符串

比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母注意事项 在 A 中出现的 B 字符串里的字符不需要连续或者有序。没什么难的,正好回顾一下python就用python写了class Solution: """ @param: A: A string @param: B: A string @return:

2018-01-31 01:12:11 155

原创 两数之和

给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到n-1。注意事项你可以假设只有一组答案。只想了个简单方法遍历,等有时间做一下挑战class Solution: def twoSum(self, numbers, targe

2018-01-31 01:10:18 128

原创 平面列表

给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。注意事项如果给定的列表中的要素本身也是一个列表,那么它也可以包含列表。因为是列表就第一时间想到用python做,只要简单的用一个递归就可以了class Solution(object): def flatten(self, nestedList): # W

2018-01-31 01:08:37 189

原创 主元素

给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。注意事项 You may assume that the array is non-empty and the majority number always exist in the array.您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题? A

2018-01-26 23:27:33 190

原创 最小子数组

给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。注意事项 子数组最少包含一个数字您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题? Airbnb LinkedIn Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Microsoft Go

2018-01-26 22:57:15 201

原创 最大子数组

给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。注意事项 子数组最少包含一个数看到这个题以为很简单,但其实有些难,一开始死活想不出来怎么做是太过于纠结判断子数组的范围了,然而这道题是求最大子数组的和,看到标签上写了贪心算法,就仔细学了一下,设置变量sum来代表数组元素相加的和,当sum小于0时就清sum为0 int length = a.size() ;

2018-01-26 22:55:41 88

原创 恢复旋转排序数组

给定一个旋转排序数组,在原地恢复其排序。您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题? Airbnb LinkedIn Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Microsoft Google Apple Yahoo Uber Facebook Bloom

2018-01-26 22:47:58 208

原创 翻转链表

题目:样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null挑战在原地一次翻转完成这个题目第一时间想到的是建立一个新的链表然后将原链表内容倒序存入,由于难度不大就不贴代码了这个挑战一开始以为应该交换节点内存储内容,但实现起来太过困难,于是乎想到直接交换指针。ListNode * reverse(ListNode *

2018-01-26 00:45:21 99

原创 二分查找

题目 :给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。这个问题也不是很难,一开始没有注意到要求找第一个出现的,然后就直接过了。 int binarySearch(vector &array, int target) { // write your

2018-01-26 00:41:38 124

原创 字符串查找

题目: 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回-1一开始看到这个题模就想到了书上的BF暴力搜索算法,虽然通过了但是很浪费时间。然后学了一下kmp算法,觉得很高效。//BFint strStr(const char *source, const

2018-01-26 00:36:01 172

原创 Fizz Buzz 问题

问题:给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:如果这个数被3整除,打印fizz.如果这个数被5整除,打印buzz.如果这个数能同时被3和5整除,打印fizz buzz.一开始看到这个问题以为很简单但做起来却发现自己错误百出主要要注意的是if else语句中的关系  vector fizzBuzz(int n) { // write you

2018-01-23 23:15:59 911

原创 旋转字符串

问题: 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)样例 : 对于字符串 "abcdefg". offset=0 => "abcdefg" offset=1 => "gabcdef" offset=2 => "fgabcde" offset=3 => "efgabcd"仔细观察不难发现平移的位数只要一个个平移(offset % 字符串长度即可

2018-01-23 23:12:44 158

原创 合并排序数组

问题: 合并两个排序的整数数组A和B变成一个新的数组。碰到这个题,第一想到的是将两个数组整合到一起再进行排序,但仔细一想对于与两个已经排好序的数组来说这样做会浪费时间,于是想到了归并排序算法中对两段数组进行合并并排序的算法. vector mergeSortedArray(vector &A, vector &B) { // write your code here

2018-01-23 22:51:43 149

原创 求尾部和的零

题目: 设计一个算法,计算出n阶乘中尾部零的个数。 对于该题一开始有一个最简单的做法就是把阶乘直接计算然后再进行判断结果包含多少零,当然虽然简单易懂但是这种做法浪费时间且效率极低如果n过大就难以计算。long long jie(int n){ int i; long long result = n; for(i = n - 1;i > 1;i--) { result =

2018-01-23 22:47:06 147

原创 不使用加法的A+B问题

代码内容:int aplusb(int a, int b) {        // write your code here         int step1 = a ^ b;         int step2 = a & b;         while(step2)         {          int c = step2           int

2018-01-23 00:03:32 310

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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