- 博客(57)
- 收藏
- 关注
原创 LintCode 92.背包问题
描述在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]样例样例 1: 输入: [3,4,8,5], backpack size=10 输出: 9样例 2: 输入: [2,3,5,7], backpack size=12 输出: 12 /// 背包问题/// 记忆化搜索/// 时间复杂度: O(n * C) 其...
2019-08-19 16:27:00 241
原创 Android面试常见问题汇总
1.Activity生命周期首先说一下Activity四种状态及running,paused,stopped,killed。当启动一个Activity时需执行onCreate()->onStart()->onResume()。此时Activity可以与用户进行交互。若按Home键,则onPause()->onStop()。继续onPause()->onStop(...
2019-07-05 16:03:35 326
原创 LintCode 两个数组的交集
547.两数组的交集描述给出两个数组,写出一个方法求出它们的交集样例例1:输入: nums1 = [1, 2, 2, 1], nums2 = [2, 2], 输出: [2].例2:输入: nums1 = [1, 2], nums2 = [2], 输出: [2].挑战可以用三种不同的方法实现吗?注意事项结果中的每个元素必须是唯一的。 结果需要...
2019-07-02 10:45:01 233
原创 LintCode 1144.范围加法之二
描述给定一个m * n 的全零矩阵M,以及一些更新操作。操作由2D数组表示,并且每个操作由具有两个正整数a和b的数组表示,对于一个操作[a,b],这意味着M [i] [j] 会在所有0 <= i <a且0 <= j <b 的i,j位置上加1.在执行完所有操作后,您需要计算并返回矩阵中的最大整数的个数。样例样例 1:输入: m = 3, n = 3...
2019-07-02 09:56:21 215
原创 LintCode 1173.反转字符串
描述给定一个字符串句子,反转句子中每一个单词的所有字母,同时保持空格和最初的单词顺序。样例输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc"注意事项字符串中,每一个单词都是由空格隔开,字符串中不会有多余的空格。代码部分public class Solution { /**...
2019-06-26 17:12:18 167
原创 LintCode 173:链表插入排序
描述用插入排序对链表排序样例样例 1: 输入: 0->null 输出: 0->null样例 2: 输入: 1->3->2->0->null 输出 :0->1->2->3->null 代码部分/** * Definition for ListNode * public class List...
2019-06-21 11:16:07 127
原创 LintCode 661. 把二叉搜索树转化成更大的树
描述给定二叉搜索树(BST),将其转换为更大的树,使原始BST上每个节点的值都更改为在原始树中大于等于该节点值的节点值之和(包括该节点)。样例样例1:输入 : {5,2,13} 5 / \ 2 13输出 : {18,20,13} 18 / ...
2019-06-20 16:15:31 159
原创 2019年6月4日 VIVO提前批笔试 题目3
描述小v负责一次活动礼品采购,每一款礼品的受欢迎程度(热度值)各不相同。现给出总金额以及各礼品的单价和热度值,且每个礼品只采购一个,如何购买可以使得所有礼品总热度值最高。输入:第一行是一个正整数,表示总金额(不大于1000)第二行是一个长度为n的正整数数组,表示礼品单价(n不大于100)第三行是一个长度为n的正整数数组,表示对应礼品热度值输出:一个正整数,表示可获得的最...
2019-06-19 21:51:16 247
原创 LintCode 627.最长回文串
描述给出一个包含大小写字母的字符串。求出由这些字母构成的最长的回文串的长度是多少。数据是大小写敏感的,也就是说,"Aa" 并不会被认为是一个回文串。样例样例 1:输入 : s = "abccccdd"输出 : 7说明 : 一种可以构建出来的最长回文串方案是 "dccaccd"。注意事项假设字符串的长度不会超过 1010。代码部分import java...
2019-06-19 20:43:41 223
原创 LintCode 488.快乐数
描述写一个算法来判断一个数是不是"快乐数"。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。样例例1:输入:19输出:true说明:19是一个快乐的数字 1 ^ 2 + 9 ^ 2 = 82 8 ^ 2 ...
2019-06-19 20:40:45 141
原创 LintCode 138.子数组之和
描述给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置样例样例 1:输入: [-3, 1, 2, -3, 4]输出: [0,2] 或 [1,3] 样例解释: 返回任意一段和为0的区间即可。样例 2:输入: [-3, 1, -4, 2, -3, 4]输出: [1,5]注意事项至少有一个子数组的和为 0代码部分...
2019-06-19 20:38:47 325
原创 LintCode 111.爬楼梯
描述假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例Example 1: Input: n = 3 Output: 3 Explanation: 1) 1, 1, 1 2) 1, 2 3) 2, 1 total 3.Example 2: Input: n = 1 Output: 1 Ex...
2019-06-19 17:17:46 149
原创 LintCode 79. 最长公共子串
描述给出两个字符串,找到最长公共子串,并返回其长度。样例样例 1: 输入: "ABCD" and "CBCE" 输出: 2 解释: 最长公共子串是 "BC"样例 2: 输入: "ABCD" and "EACB" 输出: 1 解释: 最长公共子串是 'A' 或 'C' 或 'B'挑战O(n x m) time and memory....
2019-06-19 10:48:33 180
原创 LintCode 397.最长上升连续子序列
描述给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。)样例样例 1:输入:[5, 4, 2, 1, 3]输出:4解释:给定 [5, 4, 2, 1, 3],其最长上升连续子序列(LICS)为 [5, 4, 2, 1],返回 4。样例 2:输入:[5,...
2019-06-18 15:54:39 1557
原创 LintCode 114,115. 不同的路径
一.不同的路径描述有一个机器人的位于一个 m × n 个网格左上角。机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。问有多少条不同的路径?样例Example 1:Input: n = 1, m = 3Output: 1 Explanation: Only one path to target position.Example 2:I...
2019-06-18 10:16:35 241
原创 LintCode 97,155 二叉树的最小最大深度
1 二叉树的最小深度描述给定一个二叉树,找出其最小深度。二叉树的最小深度为根节点到最近叶子节点的最短路径上的节点数量。样例样例 1:输入: {}输出: 0样例 2:输入: {1,#,2,3}输出: 3 解释: 1 \ 2 / 3 它将被序列化为 {1,#,2,3}样例 3:输入: {1,2,3,#,#,4,5}...
2019-06-15 16:16:31 123
原创 LintCode 375.克隆二叉树
描述深度复制一个二叉树。给定一个二叉树,返回一个他的 克隆品 。样例样例1:输入: {1,2,3,4,5}输出: {1,2,3,4,5}解释:样例中二叉树如下所示: 1 / \ 2 3 / \4 5样例2:输入: {1,2,3}输出: {1,2,3}解释:样例中二叉树如下所示: 1 / \2 3...
2019-06-14 10:07:26 133
原创 LintCode 166.链表倒数第n个节点
描述找到单链表倒数第n个节点,保证链表中节点的最少数量为n。样例Example 1: Input: list = 3->2->1->5->null, n = 2 Output: 1Example 2: Input: list = 1->2->3->null, n = 3 Output: 1代码部分/** * ...
2019-06-11 16:20:39 153
原创 LintCode 53. 翻转字符串中的单词
描述给定一个字符串,逐个翻转字符串中的每个单词。样例样例 1: 输入: "the sky is blue" 输出: "blue is sky the" 样例解释: 返回逐字反转的字符串.样例 2: 输入: "hello world" 输出: "world hello" 样例解释: 返回逐字反转的字符串.说明单词的构成:无空格...
2019-06-10 15:57:56 183
原创 LintCode 110.最小路径和
描述给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。样例样例 1: 输入: [[1,3,1],[1,5,1],[4,2,1]] 输出: 7 样例解释: 路线为: 1 -> 3 -> 1 -> 1 -> 1。样例 2: 输入: [[1,3,2]] 输出: 6 解释: 路线是: 1 ...
2019-06-09 20:08:22 255
原创 LintCode 822.相反的顺序存储
描述给出一个链表,并将链表的值以倒序存储到数组中。样例样例1输入: 1 -> 2 -> 3 -> null输出: [3,2,1]样例2输入: 4 -> 2 -> 1 -> null输出: [1,2,4]注意事项您不能改变原始链表的结构。 ListNode 有两个成员变量:ListNode.val 和 ListNode...
2019-06-09 16:25:49 289
原创 2019年6月4日 VIVO提前批笔试 题目2
题目描述工程师小v在项目开发中,需要将一个单向链表的第M位置和第N位置间的元素顺序倒转,请输出倒转后的链表。样例输入:3 511 5 8 22 9 5 0输出:11 5 9 22 8 5 0说明:仅一行,表示按要求倒转后的链表元素代码部分(形式上可能与题目有出入,因为记不清了)public class Solution { public cla...
2019-06-09 16:06:29 821
原创 LintCode 112.删除排序链表中的重复元素
描述给定一个排序链表,删除所有重复的元素每个元素只留下一个。样例样例 1: 输入: null 输出: null样例 2: 输入: 1->1->2->null 输出: 1->2->null样例 3: 输入: 1->1->2->3->3->null 输出: 1->2->3->null...
2019-06-09 15:49:47 137
原创 2019年6月4日 VIVO提前批笔试 题目1
题目描述工程师小v接到一个任务,有两个整形数组A和B,要求找出数组A中存在而数组B中不存在的元素,并打印输出(保持原顺序)样例输入数组A:1 2 3 5输入数组B:2 3 4输出:1 5代码部分import java.util.*;public class Solution { public static void notContain(int[] s1,i...
2019-06-07 10:32:53 429
原创 LintCode 69.二叉树的层序遍历
描述给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)样例样例 1:输入:{1,2,3}输出:[[1],[2,3]]解释: 1 / \ 2 3它将被序列化为{1,2,3}层次遍历样例 2:输入:{1,#,2,3}输出:[[1],[2],[3]]解释:1 \ 2 /3它将被序列化为{1,#,2,3}层次遍历代码部...
2019-06-06 22:06:46 131
原创 LintCode 96.链表划分
描述给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。样例样例 1:输入: list = null, x = 0输出: null 样例解释: 空链表本身满足要求样例 2:输入: list = 1->4->3->2->5->2->null, x = 3...
2019-06-06 21:44:48 123
原创 LintCode 93.平衡二叉树
描述给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1。样例样例 1: 输入: tree = {1,2,3} 输出: true 样例解释: 如下,是一个平衡的二叉树。 1 / \ 2 3 样例 2: 输入: tree = {...
2019-06-06 20:28:26 1343
原创 LintCode 2.尾部的零
描述设计一个算法,计算出n阶乘中尾部零的个数样例样例 1: 输入: 11 输出: 2 样例解释: 11! = 39916800, 结尾的0有2个。样例 2: 输入: 5 输出: 1 样例解释: 5! = 120, 结尾的0有1个。挑战O(logN)的时间复杂度代码部分public class Solution { pu...
2019-06-05 10:08:18 524
原创 LintCode 1. A + B 问题
描述给出两个整数 a 和 bb , 求他们的和。样例样例 1:输入: a = 1, b = 2输出: 3 样例解释: 返回a+b的结果.样例 2:输入: a = -1, b = 1输出: 0 样例解释: 返回a+b的结果.挑战显然你可以直接 return a + b,但是你是否可以挑战一下不这样做?(不使用+++等算数运算符)代码部分 ...
2019-06-05 09:46:33 219
原创 Android四大组件 Activity
Activity是一个Android的应用组件,它提供屏幕进行交互。每个Activity都会获得一个用于绘制其用户界面的窗口,窗口可以充满屏幕也可以小于屏幕并浮动在其他窗口之上。一.activity生命周期1.activity的四种状态running:活动状态,点击屏幕会相应paused:失去焦点或被非全屏activity占据,或被透明的activity放置在栈顶。但只是失去了和用...
2019-05-18 15:20:22 142
原创 谈谈对Hashmap的理解
HashMap是基于哈希表的Map接口的非同步实现,允许使用null值和null键,但不保证映射的顺序。底层使用数组实现,数组中每一项是个单向链表,即数组和链表的结合体;当链表长度大于一定阈值时,链表转换为红黑树,这样减少链表查询时间。HashMap 的默认初始大小为16,初始化大小必须为2的幂,最大大小为2的30次方。数组中存储的链表节点Entry 类实现于Map.Entry 接口,它实...
2019-05-15 19:46:07 481
原创 LintCode 33.N皇后问题
描述:n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击。给定一个整数n,返回所有不同的n皇后问题的解决方案。每个解决方案包含一个明确的n皇后放置布局,其中“Q”和“.”分别表示一个女王和一个空位置。样例:例1:输入:1输出: [["Q"]]例2:输入:4输出:[ // Solution 1 [".Q..", "...
2019-05-06 10:57:18 171
原创 剑指Offer 28. 字符串的排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。import java.util.*; public class Solution { pub...
2019-05-06 10:31:24 111
原创 牛客网 剑指Offer(25) 合并两个排序的链表
原博客地址:https://www.cnblogs.com/yongh/p/9791945.html描述: 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。思路: 递归实现:合并过程中,每次都是从两个链表中找出较小的一个来链接,因此可以采用递归来实现:当任意一个链表为null时,直接链接另一个链表即可;其余情况只需要在两个链...
2019-04-15 11:26:58 119
原创 牛客网 数值的整数次方
题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。代码:public class Solution { public double Power(double base, int exponent) { //exponent是int类型的整数,则可能包含正整数,0,负整数三种情况。 ...
2019-04-13 19:32:44 149
原创 LintCode 31.数组划分
描述:给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:所有小于k的元素移到左边 所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。样例:Example 1:Input:[],9Output:0Example 2:Input:[3,2,2,1],2...
2019-04-13 10:57:17 218
原创 LintCode 17.子集
描述:给定一个含不同整数的集合,返回其所有的子集。样例:样例 1:输入:[0]输出:[ [], [0]]样例 2:输入:[1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]代码:public List<List<Int...
2019-04-12 16:03:56 213
原创 LintCode 40.用栈实现队列
描述:正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。样例:Example 1:Input: push(1) pop() push(2) push(3) top()...
2019-04-12 15:20:01 121
原创 LintCode 12.带最小值操作的栈
描述:实现一个栈, 支持以下操作:push(val) 将 val 压入栈 pop() 将栈顶元素弹出, 并返回这个弹出的元素 min() 返回栈中元素的最小值要求 O(1) 开销。样例:输入: push(1) min() push(2) min() push(3) min()输出: 1 1 1注意事项保证栈中没有数字...
2019-04-12 10:40:17 353
原创 链表合并
描述:已知两个链表head1和head2各自有序,请把它们合并成一个依然有序的链表。结果链表要包含head1和head2的所有结点,即结点值相同。方法1:递归法具体步骤如下所示:1)比较链表1(head1)和链表2(head2)的第一个结点数据,如果head1.data<head2.data,则把结果链表头结点指向链表head1中的第一个结点。2)对剩余的链表head1....
2019-04-11 10:33:38 540
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人