LandscapeMi

landscapemi的博客

复习(java):语法:java基础库

1.数组 初始化 // 静态初始化 int[] intArr=new int[]{5,6,7,8};//动态初始化 int p = new int[5]; foreach for(String book:books)数组内存 数组是引用变量 引用变量的初始化 基本类型的初始化(p94) 引用变量数...

2016-07-07 11:25:41

阅读数:164

评论数:0

面试:哈希:常数时间

数组和哈希的结合 * 数组A保存元素; * HM的key存储数组元素,值为元素在数组的下标

2016-06-11 18:30:38

阅读数:160

评论数:0

面试:哈希:最长不同字符

题目输入一个字符串,求不含重复字母的最长子串的长度import java.util.*;class Solution{ public int lengthOfLongestSubstring(String s){ int n=s.length(), start=0, max...

2016-06-11 18:26:45

阅读数:132

评论数:0

面试:哈希:最长不同字符子串

题目输入一个字符串,求不含有重复字母的最长子串的长度 “aaaa” a 长度1算法 hash记录字母和该字母出现的次数 记录字母出现的位置 import java.util.*;class Solution{ public int lengthOfLongestSubstring(...

2016-06-10 21:20:50

阅读数:120

评论数:0

面试:哈希:最长连续子串

题目给出一个无序的整形数组,找出最长连续子串的长度。线性时间复杂度{8,1,9,3,2,4}———-连续子串—–{1,2,3,4}—-长度是4算法 记录数字和其所在的连续数组的长度 插入数字 判断其前一个数和后一个数,是否在hash里 如果存在,更新连续数组长度 O(n)import java.u...

2016-06-10 16:09:32

阅读数:454

评论数:0

面试:字符串: 正则匹配

题目是否正则匹配,”.” 匹配任意字符和 “*”匹配0个或多个前一个字符 isMatch(“a”,”a”)=true isMatch(“a*”,”aa”)=true isMatch(“ab”,”.*”)=true isMatch(“ab”,”a*bc*”)=trune算法 如果已经完成遍历...

2016-06-09 20:12:08

阅读数:309

评论数:0

面试:字符串: 提取IP地址

题目 给定一个只含数字的字符串,返回所有合法的ip地址

2016-06-09 19:45:58

阅读数:3201

评论数:2

面试:字符串: 字符串转换为10进制数

题目实现atoi函数,将字符串转为十进制数 算法照着要求写代码,可以总结如下: 1. 字串为空或者全是空格,返回0; 2. 字串的前缀空格需要忽略掉; 3. 忽略掉前缀空格后,遇到的第一个字符,如果是‘+’或‘-’号,继续往后读;如果是数字,则开始处理数字;如果不是前面的2种,返回...

2016-06-09 19:04:12

阅读数:351

评论数:0

面试:字符串: 字符串相乘

题目给出两个字符串的正整数,求其乘积,返回其乘积的字符串的表示算法 num1*num2(N*M)的结果最多是N+M位 先乘, 再累加 public class Solution{ public String multiply(String num1, String num2){ ...

2016-06-06 18:33:44

阅读数:2012

评论数:0

面试:字符串: 字符交替

题目给定两个字符串,大于出所有由这两字符交替组成的字符串。 要求维持原来字符的顺序不变算法例如:输入“AB”和“CD”,则打印 ABCD ACBD ACDB CABD CADB CDAB (1) s1和s2均无字符可用,则返回空串 (2) 其中一个空字符可用,s1剩余字符为空,那...

2016-06-06 17:57:47

阅读数:276

评论数:0

面试:字符串: 提取单词(2)

题目根据字典,从一个抹去空格的字符串里提取全部的单词组合,求单词组合里最大单词个数算法 一般求最大数量而不求具体方案,DP dp记录中间状态,dp[i]代表从0到i的子串包含的最大数量,程序最后返回dp[n-1], n为字符串的长度,dp计算的等式为 dp[j]=max(dp[j],dp[i]+1...

2016-06-06 17:44:04

阅读数:571

评论数:0

面试:字符串:产生括号

题目根据字典,从一个抹去空格字符串里提取全部单词组合,并拼接成完整的句子 例如: thisisanexample this is an example算法 从找第一个单词 递归 利用哈希记录以及做好的分词(加速)public class Solution{ public ArrayL...

2016-06-06 17:31:39

阅读数:128

评论数:0

面试:字符串:产生括号

题目打印出所有N对合理的括号组合 例如: N=3; ()()(),()(()),(())(),((()))算法http://www.shangxueba.com/jingyan/1837405.html * 任意位置满足左括号大于等于右括号 * 我们用二叉树形象的表示这种关系。然后再把二叉...

2016-06-02 19:16:35

阅读数:200

评论数:0

面试:字符串:字符串判重

题目输入字符串,判断是否有重复字符算法 256个字符布尔数组记录每个字符的情况 遍历 import java.util.*;public class Solution{ public boolean isUniqueChars(String str){ boolean[] ...

2016-06-02 16:44:37

阅读数:158

评论数:0

面试:字符串:字符串判重

题目输入字符串,判断是否有重复字符算法 256个字符布尔数组记录每个字符的情况 遍历 import java.util.*;public class Solution{ public boolean isUniqueChars(String str){ boolean[] ...

2016-06-02 16:44:08

阅读数:294

评论数:0

面试:数组:旋转矩阵

题目给第一个m*n的矩阵,按螺旋顺序返回所有元素算法越界的判断方法import java.util.*;public class Solution{ public ArrayList<Integer> spiralOrder(int[][] matrix){ ...

2016-05-20 16:36:16

阅读数:391

评论数:0

面试:数组:矩阵清零

题目 给定一个矩阵,若某元素为0,则将该元素的行和列清零 算法 找到第一个0元素,使用该元素的行来记录需要清零的列,该元素的列记录需要清零的行 再扫描,一次清零

2016-05-20 16:26:46

阅读数:208

评论数:0

面试:数组:插入位置

题目给定一个有序数组和一个目标值,返回目标值的下标。如果目标值不在序列则返回其插入数组后的下标值,插入后的数组依然保持有序。 数组不存在重复的数字算法二分查找的最后结果是low>high的时候循环结束,low记录了第一个大于目标值的元素的下标import java.util.*;publi...

2016-05-19 18:18:43

阅读数:116

评论数:0

面试:数组:区间搜索

题目给定一个区间和目标值,找出目标值的起始下标,若无目标值,则返回[-1,-1] 要求时间复杂度是O(lgn)算法 找到比目标值小的最大值,下一步是目标值 找到比目标值大的最小值,上一步是目标值 import java.util.*;public class Solution{ publ...

2016-05-19 17:30:14

阅读数:123

评论数:0

面试:数组:二维搜索数组

题目对一个n*n矩阵进行搜索,矩阵有如下特征 1. 每行的是从左到右都是排序的 2. 每行的首数大于尾数二分查找 A是m*n的矩阵 A[k]=matrix[i][j] i=k/n j=k%n 复杂度O(lg(m*n))import java.util.*;public class Soluti...

2016-05-19 17:15:17

阅读数:126

评论数:0

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