08 2015 档案

摘要:多重匹配例子:程序匹配实现:首字母T+某个元音+任意多个字母+惊叹号->^T[aeiou]\w*? 首字母Q+非u字母+任意多个数字+句号^Q[^u]\d+\..例子1:测试模式主要使用两个类库:pattern 和 Matcher过程:1.创建匹配模式2.调用String中的模式进行... 阅读全文
posted @ 2015-08-24 12:00 haochen_Mark 阅读(131) 评论(0) 推荐(0)
摘要:题目要求:给出一个int数组以及一个target数字找出所有在此范围中找出所有组合可以得出target的结果解题思路:1.利用递归,每次根据index更新copy结果集2.定义newtarget= target-candidates[i]3 每更新一次newtarget相对于target就更近了一步... 阅读全文
posted @ 2015-08-24 00:41 haochen_Mark 阅读(167) 评论(0) 推荐(0)
摘要:给定两个用链表表示的证书,每个节点包含一个数位,反向存放,也就是个位排在链表首部并返回结果迭代:1.增加一个ArrayList数据结构用来临时保存每一位的加和结果2.之后分别遍历L1和L2两个链表将两个链表中的值相加3.将多出的位数加入ArrayList之后反向输出。递归: public stati... 阅读全文
posted @ 2015-08-20 02:26 haochen_Mark 阅读(112) 评论(0) 推荐(0)
摘要:实现一个算法删除链表中的某个结点,假定你只能访问这个这结点:输入:单向链表a->b->c->d->e中的结点c结果:不返回任何数据,但是该链表变为a->b->d->e分析:当结点为空或者是尾结点的时候,该算法实现不了。定义一个临时的next指针指向要删除结点的后续,n的data移动到next的dat... 阅读全文
posted @ 2015-08-19 02:08 haochen_Mark 阅读(142) 评论(0) 推荐(0)
摘要:1. 移除未排序链表中的重复节点:方法1:利用哈希表:遍历一次,将所有元素的记录在哈希表中,利用哈希表记录节点是否重复代码:public static void deleteDup(LinkListNode n){ HashMap map = new HashMap(); LinkLis... 阅读全文
posted @ 2015-08-18 01:36 haochen_Mark 阅读(123) 评论(0) 推荐(0)
摘要:problem:Given two string, write a method to decide if one is a permutation of the otherSolution:1. sort two strings and return weather str1 equal to s... 阅读全文
posted @ 2015-08-15 04:10 haochen_Mark 阅读(114) 评论(0) 推荐(0)
摘要:problem:Implement a function void reverse(char *str) in C and C++ which reverse a null-terminated string.The solution:1. use another pointer end point... 阅读全文
posted @ 2015-08-15 02:11 haochen_Mark 阅读(141) 评论(0) 推荐(0)
摘要:Promble:Implement an algorithm to determine if a string has all unique characters. What if you cannot use addtional data structure?My solution:1.ckeck... 阅读全文
posted @ 2015-08-15 00:36 haochen_Mark 阅读(196) 评论(0) 推荐(0)
摘要:题目要求:给定一个数组a1,a2,a3,a4,ai...作为一个水桶的两侧,找出两个最大的元素,作为水桶的两边,求最大面积解个人解法:1.两个指针一个从后往前,一个从前往后,相减两边的距离之后乘以j与i的距离,得出结果与之前结果进行比较2.然后如此暴力的解法超时了参考解法:这个方法比较灵巧,比较左右... 阅读全文
posted @ 2015-08-11 04:26 haochen_Mark 阅读(282) 评论(0) 推荐(0)
摘要:题目要求:给出一个给定的数组,找出所有三个数之和等于0的集合,并返回所有的结果集解题思路:解题之前先对数组进行排序1. 确定了一个nums[i]之后通过高位high以及低位low左右close2.注意要判断nums[i]是否等于nums[i+1]如果等于直接跳过3.如果高位和低位相加大于sum值则h... 阅读全文
posted @ 2015-08-10 11:28 haochen_Mark 阅读(131) 评论(0) 推荐(0)
摘要:题目要求:给定一个数组,返回其中的主要元素,就是出现过n/2次以上的那个解法:1.排序2.返回中间元素代码: public int majorityElement(int[] nums) { Arrays.sort(nums); int len = nums.length; r... 阅读全文
posted @ 2015-08-10 09:53 haochen_Mark 阅读(162) 评论(0) 推荐(0)
摘要:题目要求:给定杨辉三角的行数,之后返回这一行的内容。解题思路:1.这一题和上一题类似只是需要返回一行的内容,所以要求在一行上进行操作。2.每次都会现在原有的结果集合上加上一个1,之后再利用set函数从后往前进行修改。3.所以两层循环,外循环从小到大,内循环从大到小。代码如下:public stati... 阅读全文
posted @ 2015-08-10 09:48 haochen_Mark 阅读(90) 评论(0) 推荐(0)
摘要:题目要求:给定帕斯卡三角的层数,生成相应的帕斯卡三角。解题思路:1. 最重要的一点就是每层数字的个数和层数相等,例如:第一层1个,第二层2个,第三层3个,第四层4个2. 其次还有一个规律就是element[i][j]=element[i-1][j-1]+element[i-1][j]3. 每一行的首... 阅读全文
posted @ 2015-08-10 08:22 haochen_Mark 阅读(94) 评论(0) 推荐(0)
摘要:题目要求:将两个排序好的nums1和nums2数组合并成为一个数组,nums1中有足够的空间,有m+n的空间,在nums1中有m个元素,在nums2中有n个元素解题思路:将nums2中的元素归并到nums1中,对于nums1以及nums2从后往前进行遍历,归并到nums1中,while(i>-1&&... 阅读全文
posted @ 2015-08-09 09:47 haochen_Mark 阅读(92) 评论(0) 推荐(0)
摘要:Contain Duplicate 题目要求:给定一个数组如果有重复就返回true,如果没有就返回false个人分析:这个题比剔除重复的要简单许多,只需要判断就好代码如下: public static boolean containsDuplicate(int[] nums){ if (num... 阅读全文
posted @ 2015-08-09 04:05 haochen_Mark 阅读(321) 评论(0) 推荐(0)
摘要:题目要求:去除数组中相重复的的元素,并且返回新数组的长度。(要求不能再申请额外空间,只能在原来数组上进行操作)个人理解:1. 数组定义之后就是定长的不能改变,只能在原来数组上进行操作,不能像链表一样根据指针进行操作2. 与remove element相似,利用数组中后续的元素进行代替,将数组的一部分... 阅读全文
posted @ 2015-08-08 22:32 haochen_Mark 阅读(132) 评论(0) 推荐(0)
摘要:题目要求:去除所有数组内与所给值相等的元素,并且返回新数组的长度。个人解法:1.定义一个int len=nums.length当有nums[i]==value时,len--,但是这个仅仅是返回新数组的长度,并没有做到剔除相等元素参考解法:1.核心在于,i的值从前往后,len的值从后往前2.i在外循环... 阅读全文
posted @ 2015-08-08 04:46 haochen_Mark 阅读(108) 评论(0) 推荐(0)
摘要:题目要求:将数组的位置向右旋转移动k位。个人解法:1.这个题目重点在于需要对边界进行判断,因为k的值有的时候会比n要大,所以要充分理解%的意义2.定义一个copynums可以存储临时变量。3. 在第二个循环中可以利用(i+k)%len的公式准确找到并赋值需要变化的位置。相关代码: public vo... 阅读全文
posted @ 2015-08-08 03:18 haochen_Mark 阅读(154) 评论(0) 推荐(0)
摘要:题目要求:给定一个排序好的int数组,按照间隔输出字符串个人解法:1.设一个临时变量,用来存-》后面的值,2. 遍历一次数组,注意要判断是否到最后一位。代码: public static List summaryRange(int[] nums) { List result = new Arr... 阅读全文
posted @ 2015-08-08 02:20 haochen_Mark 阅读(131) 评论(0) 推荐(0)
摘要:题目内容:给定一个int数组,代表一个非负数不同的位, 在这个数字中加上1之后将结果以int数组的形式返回。个人解法1:1.现将数组转化为int之后加上1之后再变成数组,这样就可能忽略溢出所以无法通过个人解法2:这个解法超级麻烦自己也做不下去了,感觉对于数组操作的部分还不是很熟悉:1.先定义一个Ar... 阅读全文
posted @ 2015-08-08 00:01 haochen_Mark 阅读(102) 评论(0) 推荐(0)
摘要:题目要求:给定一个字符串由不同单词组成,返回其相反顺序,中间可能有多余字符:例如:Given s = "the sky is blue",return "blue is sky the".个人解法:1.暴力,主要是对于两个单词中间存在多个空格的处理。2. 利用栈来存储临时变量。3.缺点,空间利用太大... 阅读全文
posted @ 2015-08-07 03:45 haochen_Mark 阅读(97) 评论(0) 推荐(0)
摘要:Basic Calculator1题目内容:实现一个带有加减以及括号功能的小计算器,其中输入的没用负数,而且输入的内容也全部是合法表达式。个人分析:1.利用stack解题,将得出的临时结果放入stack中2.遇到括号的时候将result放入stack中心得:1. 对于加减可以直接利用符号进行操作,专... 阅读全文
posted @ 2015-08-06 23:46 haochen_Mark 阅读(238) 评论(0) 推荐(0)
摘要:题目:以A-》1, B-》2.。。。。的顺序解码一个字符串序列, 因为存在解码歧义所以例如 12-》L或者存在12-》AB,所以题目是给定一个数字字符串,可以给出多少组合结果:个人分析: 1.在给定字符串中0,1,2的存在会产生歧义,所以要处理好0,1,2的问题 2.如果两个数字的值组合小于... 阅读全文
posted @ 2015-08-06 22:36 haochen_Mark 阅读(182) 评论(0) 推荐(0)