- 博客(21)
- 收藏
- 关注
原创 js闭包个人理解--to be continued
1、闭包只能取得包含函数中任何变量的最后一个值,因为闭包所保存的是整个变量对象。 如:function createF(){ var res=[]; for(var i=0;i res[i]=function(){ return i;}
2016-05-03 21:51:08
369
原创 OS、SQL、计网、计组review
OS1、进程:资源分配和独立运行的基本单位。程序段、相关数据段和PCB(进程控制块)组成进程实体。 线程:调度和分派的基本单位。 一个进程可以包含多个线程,此时的进程已经不再是一个可执行的实体。2、产生死锁的原因:竞争资源、进程间推进书序非法。 产生死锁的4个必要条件:互斥条件、请求并保持、不剥夺条件、环路等待条件。3、存储器管理:页/页面
2016-05-01 22:43:14
762
原创 21. Merge Two Sorted Lists--java
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public List
2016-04-26 13:00:46
515
原创 reverse linked list--javascript
刚开始没做出来,因为:①没太弄清楚js可以怎么表示链表;②这个属于排序问题--使用头插法排序。var reverseList = function(head) { if(!head || !head.next) return head; var p = new ListNode(-1); p.next=head; head=head.n
2016-03-08 20:04:13
459
原创 happy number--JavaScript
这道题的关键在于对程序进入死循环时的处理~var isHappy = function(n) { if(n return false; var tmp=(n+"").split(''); //将n的每一个数字拆分存到数组(从高位到 低位存储) var res=0; var loop=[n]; while(res!=1){
2016-03-02 21:27:56
468
原创 Isomorphic Strings--JavaScript
刚开始看到这道题,自然想直接用word pattern的方法,但是在这里会超时,因为那个使用了两重循环,所以这里的关键点在于indexOf函数的使用:var isIsomorphic = function(s, t) { var aS=s.split(''); var aT=t.split(''); if(aS.length!=aT.length)
2016-03-02 20:48:13
305
原创 Valid Anagram--JavaScript
实在是一道简单题,但是刚开始两种方法都使用了两重循环,所以超时,后来使用了数组中的sort()函数,代码如下:var isAnagram = function(s, t) { aS=s.split(''); aT=t.split(''); if(aS.length!=aT.length) return false; aS=aS.so
2016-03-02 19:19:34
331
原创 valid sudoku--JavaScript
这道题纠结了好久~~最开始没看懂题目,以为整个大的九宫格中的数字也不能重复出现~~后面又纠结于js是否有map,怎样使用~~~暂时通过的最笨的解决办法代码如下:/** * @param {character[][]} board * @return {boolean} */var isValidSudoku = function(board) { //每一行
2016-03-02 19:00:10
421
原创 wordPattern--JavaScript
最开始看到题目时,总以为str的 长度可以是pattern的几倍,并且想着先判断pattern的模式再来str中验证,而没有想到可以一边判断pattern模式一边验证str,所以弄得整个的代码很复杂。看了解题思路之后,才反应过来,这个实在是一个简单题。代码如下:var wordPattern = function(pattern, str) { aPattern=pattern.
2016-03-01 17:19:02
346
原创 moveZeroes--JavaScript
var moveZeroes = function(nums) { var count=0; //计算数组中0的个数 var n=0; //用来表示数组的 新序列 for(i=0;i if(nums[i]==0){ count++; } else nu
2016-02-27 15:11:38
376
原创 Pascal's Triangle I && II--JavaScript
var generate = function(numRows) { var res=[]; for(i=0;i res[i]=[]; } for(i=0;i for(j=0;j if(i==0) res[i]=[1]; else if(
2016-02-27 11:42:31
357
原创 Plus One--JavaScript
正确解答的思路:若数组长度改变,那么肯定是数组中所有的数字都是9。所以可以先考虑数组长度是否改变,然后分别进行考虑。显然这里应该是可以进行代码简化的,然而我懒,现在不想简化。正确代码如下:var plusOne = function (digits) { var temp=0; //用来表示在原数组长度下所能表示的最大数 var count=0; //用来表示数组
2016-02-27 11:21:45
465
原创 rotate array--JavaScript
最开始的错误解答如下:var rotate = function(nums, k) { for(i=0;i temp=nums[i]; nums[i]=nums[nums.length-1-i]; nums[nums.length-1-i]=temp; } for(i=0;i temp=num
2016-02-26 11:38:24
345
原创 Summary Ranges--JavaScript
刚开始就没看懂题目,后面才知道是需要将已排序数组进行分成几个连续的字符段。var summaryRanges = function(nums) { var res=[]; var num=0; var start=0; for(i=0;i if(nums[i]+1==nums[i+1]){ continue;
2016-02-25 11:03:24
355
原创 Implement strStr--JavaScript
题目要求找到子字符串在字符串中第一次出现的位置;刚看到题目,想得过于简单,以为子字符串只有一个字符,显然是错的;var strStr = function(haystack , needle){ if(needle.length==0) return 0; if(needle.length>haystack.length) return -1; num=0;
2016-01-05 11:25:06
494
原创 longest common prefix
简单题--var longestCommonPrefix = function(strs) { if(strs=="") return ""; if(strs.length==1) return strs[0]; for(i=0;i if(strs[i]=="") return ""; //js中怎样终止程序运行? if(st
2015-12-30 14:11:23
569
原创 remove duplicates from sorted array
将有序数组中重复的数字去掉,返回新的数组长度。乍一看,这道题很简单。想法:从前往后比较,如果两个数字相等,则后一个数字等于它本身的后一个数并且此时len--;最后返回len。但是这样做有一个问题:如果是数组的最后一个与前面的数相等,则此时,会溢出,会取到数组之外的一个数。
2015-12-30 11:34:49
349
原创 Roman to integer
将1-3999的罗马数字变成整数。关键在于知道罗马数字的形成规则,每两个数字比较,如果左边的数大于右边的数,则加起来;反之,则右边的数减去左边的数。代码如下:var romanToInt = function(s) { res=0; temp=new Array(); for(i=0;i switch(s.charAt(i)){
2015-12-28 10:57:11
447
原创 Palindrome Nmber
由于题目要求空间复杂度味O(1),所以不能考虑将数字变成字符串,并且之前reverse中会有溢出的问题,所以,可以使用之前在网络上看到的reverse的简单解法,即通过整除取余比较最高位数与最低位数。错误代码如下:var isPalindrome = function(x) { if(x else if(x var num=0; //表示x的位数
2015-12-27 20:37:47
410
原创 Reverse Integer leetcode--JavaScript
看到题目之后的第一反应是直接将数字转换成字符串,然后反转,最后再将字符串变成integer;但是这样刚开始的时候一直报错,因为边界溢出的问题,最后看到需要添加一个判断语句,处理溢出情况(也就是return前面的那一句。)var reverse = function(x) { str=x.toString(); res=new Array(); n=0;
2015-12-26 11:38:24
539
原创 leetcode ZigZag Conversion
刚开始看完题目之后,按照列出来的形式,一直将变型之后的数组当做一个二位数组形式,所以就想着先把输入的字符串按照条件变成一个二维数组,然后再将成型的二维数组转换成字符串。但是显然这样很复杂,而且我也没有做出来。思路有错!!百度之后,思路都是:直接用一个一维数组按照ZigZag顺序接收字符串的字符。这样就需要推算出是按照怎样的先后顺序获取字符串数组的。对于第一行和最后一行比较简单,所取的字符
2015-12-26 11:35:15
385
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人