自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [Lintcode] #135 数字组合

给出一组候选数字(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。例如,给出候选数组[2,3,6,7]和目标数字7,所求的解为:[7],[2,2,3] 注意事项所有的数字(包括目标数字)均为正整数。元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤ a2 ≤ … ≤ ak)。解集不

2017-11-07 23:57:25 524

原创 [Lintcode] #153 数字组合 II

给出一组候选数字(C)和目标数字(T),找出C中所有的组合,使组合中数字的和为T。C中每个数字在每个组合中只能使用一次。 注意事项所有的数字(包括目标数字)均为正整数。元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤ a2 ≤ … ≤ ak)。解集不能包含重复的组合。 您在真实的面试中是否遇到过这个题? 

2017-11-07 23:44:04 351

原创 [Lintcode] #116 跳跃游戏

给出一个非负整数数组,你最初定位在数组的第一个位置。   数组中的每个元素代表你在那个位置可以跳跃的最大长度。    判断你是否能到达数组的最后一个位置。 注意事项这个问题有两个方法,一个是贪心和 动态规划。贪心方法时间复杂度为O(N)。动态规划方法的时间复杂度为为O(n^2)。我们手动设置小型数据集,使大家可以通过测试的两种方式。这仅仅是为了让大家学会如何

2017-11-06 21:18:09 345

原创 [Lintcode] #150 买卖股票的最佳时机 II

假设有一个数组,它的第i个元素是一个给定的股票在第i天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。您在真实的面试中是否遇到过这个题? Yes样例给出一个数组样例[2,1,2,0,1], 返回 2.public class Solution {

2017-11-03 19:13:25 384

原创 [Lintcode] #376 二叉树的路径和

给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。一个有效的路径,指的是从根节点到叶节点的路径。您在真实的面试中是否遇到过这个题? Yes样例给定一个二叉树,和 目标值 = 5: 1 / \ 2 4 / \ 2 3返回:[ [1, 2, 2], [1, 4]]

2017-11-03 18:55:05 393

原创 [Lintcode] #138 子数组之和

给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置 注意事项There is at least one subarray that it's sum equals to zero.您在真实的面试中是否遇到过这个题? Yes样例给出 [-3, 1, 2, -3, 4],返回[0,

2017-10-29 22:34:01 321

原创 [Lintcode] #452 删除链表中的元素

删除链表中等于给定值val的所有节点。您在真实的面试中是否遇到过这个题? Yes样例给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。/** * Definition for singly-linked list. * public class ListNode

2017-10-27 13:15:53 285

原创 [Lintcode] #49 字符大小写排序

给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。 注意事项小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。您在真实的面试中是否遇到过这个题? Yes样例给出"abAcD",一个可能的答案为"acbAD"public class Solution { /*

2017-10-27 11:53:08 430

原创 [Lincode] #14 二分查找

给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。样例在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。挑战 如果数组中的整数个数超过了2^32,你的算法是否会出错?class Solu

2017-10-27 11:39:52 236

原创 4.9 chmod和fchmod函数

我们使用这两个函数可以改变现有文件的访问权限。//函数原型//返回值:若成功则返回0,出错则返回-1#includeint chmod(const char *pathname, mode_t mode);int fchmod(int filedes, mode_t mode);chmod函数在指定的文件上进行操作,而fchmod函数则在已打开的文件上进行操作。条件:进

2017-10-26 18:51:51 388

原创 [Lintcode] #170 旋转链表

给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数样例给出链表1->2->3->4->5->null和k=2返回4->5->1->2->3->null/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNo

2017-10-23 22:10:51 260

原创 [Lintcode] #101 删除排序数组中的重复数字 II

跟进“删除重复数字”:如果可以允许出现两次重复将如何处理?public class Solution { /** * @param A: a array of integers * @return : return an integer */ public int removeDuplicates(int[] nums) {

2017-10-23 17:00:07 302

原创 697. Degree of an Array

Given a non-empty array of non-negative integers nums, the degree of this array is defined as the maximum frequency of any one of its elements.Your task is to find the smallest possible length of

2017-10-23 11:16:16 382

原创 [Lintcode] #112 删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素每个元素只留下一个。样例给出 1->1->2->null,返回 1->2->null给出 1->1->2->3->3->null,返回 1->2->3->null/** * Definition for ListNode * public class ListNode { * int val; * List

2017-10-20 15:22:51 492

原创 [Lintocde] #57 三数之和

给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。 注意事项在三元组(a, b, c),要求a 结果不能包含重复的三元组。您在真实的面试中是否遇到过这个题? Yes样例如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是:

2017-10-20 00:38:42 275

原创 [Lintcode] #175 翻转二叉树

翻转一棵二叉树样例 1 1 / \ / \2 3 => 3 2 / \ 4 4非递归:/** * Definition of TreeNode: * public class TreeNode { * public int val; * public T

2017-10-19 17:32:04 266

原创 [Lintcode] #488 快乐数

写一个算法来判断一个数是不是"快乐数"。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。样例19 就是一个快乐数。1^2 + 9^2 = 828^2 + 2^2 = 686^2 + 8^2 = 1001^2 +

2017-10-19 12:05:16 260

原创 [Lintcode] #392 打劫房屋

假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,你最多可以得到多少钱 在不触动报警装置的情况下。样例给定 [3, 8, 4], 返回 8.

2017-10-19 01:00:24 261

原创 [Lincode] #149 买卖股票的最佳时机

假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。样例给出一个数组样例 [3,2,3,1,2], 返回 1 public class Solution { /* * @param prices: Given an integer array * @re

2017-10-19 00:44:22 405

原创 [Lintcode] #469 等价二叉树

检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。样例 1 1 / \ / \ 2 2 and 2 2 / /4 4就是两棵等价的二叉树。 1 1

2017-10-18 19:49:27 277

原创 [Lintcode] #78 最长公共前缀

给k个字符串,求出他们的最长公共前缀(LCP)样例在 "ABCD" "ABEF" 和 "ACEF" 中,  LCP 为 "A"在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"广度优先:public class Solution { /* * @param strs: A list of s

2017-10-18 18:45:20 253

原创 [Lintcode] #100 删除排序数组中的重复数字

给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。样例给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。public class Solution { /* * @param nums: An ineger array

2017-10-18 16:31:01 198

原创 [Lintcode] #491 回文数

判断一个正整数是不是回文数。回文数的定义是,将这个数反转之后,得到的数仍然是同一个数。样例11, 121, 1, 12321 这些是回文数。23, 32, 1232 这些不是回文数。public class Solution { /* * @param num: a positive number * @ret

2017-10-18 15:21:58 246

原创 [Lintcode] #111 爬楼梯

假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例比如n=3,1+1+1=1+2=2+1=3,共有3种不同的方法返回 3public class Solution { /** * @param n: An integer * @return: An integer

2017-10-18 15:03:47 241

原创 [Lintcode] #423 有效的括号序列

给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列。样例括号必须依照 "()" 顺序表示, "()[]{}" 是有效的括号,但 "([)]"则是无效的括号。public class Solution { /* * @param s: A string

2017-10-18 14:55:22 367

原创 [Lintcode] #407 加一

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照大小进行排列,最大的数在列表的最前面。样例给定 [1,2,3] 表示 123, 返回 [1,2,4].给定 [9,9,9] 表示 999, 返回 [1,0,0,0].public class Solution { /* * @param digit

2017-10-18 14:41:21 237

原创 [Lintcode] #97 二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。样例给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3./** * Definition of TreeNode: * public class TreeNode { * public int val; *

2017-10-18 14:05:49 163

原创 [Lintcode] #413 反转整数

将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。样例给定 x = 123,返回 321给定 x = -123,返回 -321public class Solution { /* * @param n: the integer to be reversed * @return: the reversed

2017-10-18 13:47:01 269

原创 [Lintcode] #82 落单的数

给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。样例给出 [1,2,2,1,3,4,3],返回 4public class Solution { /* * @param A: An integer array * @return: An integer */ public int

2017-10-18 00:12:38 256

原创 [Lintcode] #167 链表求和

你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。样例给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null/** * Definition for singly-linked list. * publ

2017-10-17 23:59:15 234

原创 [Lintcode] #53 翻转字符串

给定一个字符串,逐个翻转字符串中的每个单词。说明单词的构成:无空格字母构成一个单词输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个public class Solution { /* * @param s: A string * @return: A

2017-10-17 23:57:40 241

原创 [Lintcode] #56 两数之和

给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。样例给出 numbers = [2, 7, 11, 15], target = 9, 返回 [1, 2].public class Solution {

2017-10-17 15:53:48 231

原创 [Lintcode] #700 杆子分割

题目描述给一个 n 英寸长的杆子和一个包含所有小于 n 的尺寸的价格. 确定通过切割杆并销售碎片可获得的最大值.例如,如果棒的长度为8,并且不同长度部件的值如下,则最大可获得值为 22(通过切割两段长度 2 和 6 )样例长度 | 1 2 3 4 5 6 7 8 ---------------------------

2017-10-17 15:11:44 482

原创 [Lintcode] #70 二叉树的层次遍历 II

给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode

2017-10-13 10:20:15 228

原创 [Lintcode] #165 合并两个排序链表

将两个排序链表合并为一个新的排序链表/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = nu

2017-10-13 09:52:28 236

原创 [Lintcode] #174 删除链表中倒数第n个节点

给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.ne

2017-10-13 09:40:59 201

原创 [Lintcode] #41 最大子数组

给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。public class Solution { /* * @param nums: A list of integers * @return: A integer indicate the sum of max subarray */ public int maxSubArray(

2017-10-12 09:34:27 315

原创 [Lintcode] #2 尾部的零

设计一个算法,计算出n阶乘中尾部零的个数public class Solution { /* * @param n: An integer * @return: An integer, denote the number of trailing zeros in n! */ public long trailingZeros(long n)

2017-10-11 14:00:30 213

原创 [Lintcode] #1 A + B 问题

给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。public class Solution { /* * @param : An integer * @param : An integer * @return: The sum of a and b */ public int aplusb(int a, int

2017-10-11 13:34:20 202

原创 491. Increasing Subsequences

Given an integer array, your task is to find all the different possible increasing subsequences of the given array, and the length of an increasing subsequence should be at least 2 .Example:Inpu

2017-10-10 19:40:05 230

空空如也

空空如也

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

TA关注的人

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