自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 leetcode:Longest Common Prefix

还以为理解题意理解错了。。太简单了吧。。。就是对每个字符串的当前位比较。public class Solution {    public String longestCommonPrefix(String[] strs) {        int n=strs.length;        if(n==0)            return "";        Str

2014-02-28 15:20:05 404

原创 leetcode:Roman to Integer

注意优先看9**和4**public class Solution {    public int romanToInt(String s) {        int rst=0;        int i,n;        char[] ca=s.toCharArray();        n=s.length();        for(i=0;i

2014-02-28 10:33:48 524

原创 leetcode:Generate Parentheses

动归, s[n]=( s[j] )+s[n-j-1];这里注意一下ArrayList的用法,动态数组                 ArrayList[] s=new ArrayList[n+1];        int i,j,k,m;        for(i=0;i        {        s[i]=new ArrayList();        }

2014-02-28 10:14:49 378

原创 leetcode:Integer to Roman

代码略冗长。算法就是模拟,每次减一个5x,x是当前的位数,减到0为止。public class Solution {    public String intToRoman(int num) {         String rst="";                while(num>=1000)        {            rst+="M";

2014-02-24 17:01:16 382

原创 leetcode:Container With Most Water

这道题首先的思路是:设当前第i个直线为矮边界,找离i最远的比i高的边界,就构成以i为矮边界的容器。这是O(n^2)的算法,然后超时了。O(n^2)超时的话,要么分治,要么贪心。果然有贪心算法:从两边开始,将矮的一边往里推,直到i==i,记录每次的容器大小,是O(n)的算法。      int n=height.length;        int h;        

2014-02-24 16:36:20 433

原创 nachos3.4编译可能会遇到的问题

1.没有gmake进行Nachos整体编译安装时运行如下指令:~/nachos-3.4/code$ make这个时候会出现cd threads; gmake depend/bin/sh: 1: gmake: not foundmake: *** [all] Error 127【这个是g++的问题,重新装g++】

2014-02-24 09:51:30 3863 1

原创 leetcode:Regular Expression Matching

这道题做了N久,主要是边界条件太麻烦了,老是有小问题,最后看了下别人的代码才改对。用递归:例如 aaaa和ab*a*a,不知道中间那个a*要吃掉多少个a,所以只能把所有的可能都尝试一遍。要判断正则表达式p=0;p=1; p>1&&p[1]=='*';p>1&&p[1]!='*'这四种情况。public class Solution {    public boolean isMat

2014-02-24 09:47:24 636

原创 leetcode:Palindrome Number

不能用字符串,因为不能用额外空间,那么久一位一位的造出倒过来的数再比较一下。因为有越界问题,所以用long。public class Solution {    public boolean isPalindrome(int x) {        if(x            return false;        if(x            return t

2014-02-23 15:51:22 365

原创 leetcode:String to Integer (atoi)

这道题做得很烦,一直没明白题意乱七八糟的。要用long来存储最后的结果,不然会越界。public class Solution {public int atoi(String str) {  long rst;       int n=str.length();       int i,begin,flag;       int sn=1;       rst=

2014-02-22 22:09:15 387

原创 leetcode: Reverse Integer

主要问题:-100->-10->0这两种边界情况public class Solution {      public static int reverse(int x) {          if(x==0)    return 0;       String s=String.valueOf(x);       int n=s.length();

2014-02-22 21:07:19 382

原创 leetcode:ZigZag Conversion

这道题麻烦在于理解题意:要把字符串摆成N字型。解法就是把一维的数组映射到一个二维坐标轴中,这个映射是一一映射.算出每个s[i]对应的坐标轴[x,y]然后把y=0,1,2...nRows-1的字幕填入结果即可。直接用rst+=ca[i]会超时,可见String的+还是一个比较费时的操作。public class Solution {    public static String

2014-02-21 16:55:42 383

原创 leetcode:Longest Palindromic Substring

回文数用core[i]表示以i为"核"的最长回文序列core1[i]是单核回文,例如bacab,是以c为单核core2[i]是双核回文,例如baccab,是以cc为双核。代码写得比较冗长,思想就是,当前回文序列为s[i,j],那么只需要看s[i-1]==s[j+1]即可。边界考虑:s=“a”时,core2无效。public class Solution {   

2014-02-21 15:54:19 362

原创 leetcode:Add Two Numbers

链表形式的大整数加法,这道题主要考察一下关于链表的操作,比较简单。注意,java的“=”传递的是引用;/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { *

2014-02-20 22:06:37 406

原创 leetcode: Longest Substring Without Repeating Characters

动规:f[i]表示以第i个字符结尾的最长无重复子串长度。f[i]=min(len,f[i-1]+1)其中len是上一个与s[i]相同的字符到i的距离,例如abca,i=3,s[i]='a',那么len=3-0=3,。边界条件是n=0的情况。public class Solution {    public int lengthOfLongestSubstring(Str

2014-02-20 10:20:09 392

原创 leetcode:Median of Two Sorted Arrays

要求时间是log(m+n)。递归实现。所以用找第K大数的方法实现。需要注意的边界条件是m还有奇偶数的区别。技巧是始终保证A数组比B数组的规模小。public class Solution {    public double findMedianSortedArrays(int A[], int B[]) {        int m=A.length;

2014-02-19 23:14:13 411

原创 leetcode:Two Sum

这道题不排序,用n方的算法算会超时。首先用Array.sort()排序,因为要返回原来的数组下标,所以原来的数组不能丢。注意相同元素[0,4,2,0] target=0这种情况的处理,结果应该是两个0public class Solution {    public int[] twoSum(int[] numbers, int target) {        int

2014-02-19 17:26:15 400

原创 leetcode: Evaluate Reverse Polish Notation

这个问题用栈解决:注意的问题是1.题干中给出的是整数除法,所以都用整数                        2.栈的指针的加减                        3.java的string,==是比较的内存地址是否相同,.equals()才是比较内容;Integer.parseInt(String s)函数也要会写public class Solution {

2014-02-18 21:48:46 375

原创 leetcode:【Max Points on a Line】

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.这道题考虑用如下表达式表达直线:point:(a0,b0), (a1,b1), line:(a1-a0)y+(b0-b1)x+(a0b1-a1b0)=0麻烦在于:相同点的

2014-02-18 16:26:25 327

jos2010_lab1_实习报告

lab1的实习报告,写的还比较详细吧,主要是配合源代码使用的

2011-04-14

JOS2010-LAB1-源代码-qemu

JOS LAB1 的源代码,这是最新的2010版的源代码,不是用以前的bochs,而是用QEMU模拟器。

2011-04-14

空空如也

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

TA关注的人

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