博文

目前显示的是 十月, 2017的博文

numpy

1.numpy中的numpy.ndarray可以接受一个list或者一个ndarray为参数进行索引: a=np.arange(12,100,12,'f') print(a[[1,2,3]]) ------ [ 24.  36.  48.] 2. a=np.arange(12,100,12,'f') print(a>24) print(a[a>24]) print(a[[False,False,True,True,True,True,True,True]]) ------- [False False  True  True  True  True  True  True] [ 36.  48.  60.  72.  84.  96.] [ 36.  48.  60.  72.  84.  96.]

MySQL 连接

http://blog.csdn.net/pacosonswjtu/article/details/51396622 http://blog.csdn.net/basycia/article/details/52205916   natural join相当于自动合并了公共属性的那一列

关于Adapter

以后用adapter一定要自定义……不然太tm蛋疼了,因为如果直接对item的view进行更改要到adapter类的getview函数里面改,而且还能自己对adapter定义一些骚操作,美滋滋,记一笔,这萨比picasso和adapter卡了我一天,搞得心情贼几把差,难受,现在终于舒服了,感谢youtube。

Android 书签&疑问

安卓资料汇总: http://stormzhang.com/android/2014/07/07/learn-android-from-rookie/ 线程: http://blog.csdn.net/zxw136511485/article/details/53032658  , http://blog.csdn.net/zxw136511485/article/details/51541114 AsyncTask详解:  http://www.cnblogs.com/xiaoluo501395377/p/3430542.html Notification: http://www.cnblogs.com/travellife/p/Android-Notification-xiang-jie.html Firebase: http://blog.csdn.net/weixin_38327562/article/details/74231612 http://blog.csdn.net/u013400743/article/details/52352930

Coursera Algorithms I Notes.1 Union Find

WQU算法的前提是,一棵树的深度永远小于自己的节点数,当然这是显而易见的:拥有一个节点的树深度为1,两个节点的树深度为2,三个节点的树深度最小为2最多为3,深度永远不可能超过节点数,因为深度是定义与层上的,没有节点就没有层,因此假如A的节点数小于B的节点数, Weighted Quick Union的树深度最多为lgN,N为node数量,因为WQU的Union操作时,一棵树只有在自身节点数量小于对方时,自己的根节点才会被合并到对方树的根节点上,合并之后的树至少为原来两颗树中最小的那棵树的node数量的两倍,即 Nodes of 合并之后的树=2*Min(Nodes of 树A,Nodes of 树B),因此,一颗节点数量为N的树,是若干棵树进行最多为lgN次合并(翻倍)之后产生的结果。每一次合并,节点多的那棵子树每个节点的深度不变,节点数少的那棵子树的每个节点的深度会+1,因此,对于合并之后,对于节点数量为N的一颗树来说,它的深度最多为lgN*1即lgN,在最坏的情况下。 还有个规律可以推导出来,只有两个depth相同的树进行合并时,合并之后树的深度才会+1,其余的情况,合并之后树的深度等于合并之前拥有最大深度的树的深度。 可以用一个式子来简单表述上面这两个陈述: if Depth of A>=Depth of B, Depth of WQU(A,B)=MAX(Depth of A, Depth of B+1); and 2*MAX(Nodes of A, Nodes of B)>=Nodes of WQU(A,B)>=2*MIN(Nodes of A, Nodes of B). 疑问:为什么WQU算法works?为啥要以node为weight?有没有证明过程?? 我们假设DOA=DOB,因为只有此时,合并之后树的深度才会+1,不再赘述。另外我们假设WQU(A,B)=C,那么我们有:DOC=DOA|DOB+1,同时对于不同的node情况,我们对Nodes数量的变化展开以下讨论: 假如NOA>NOB, NOC=NOA+NOB, 这是对于NOC固定的情况下,DOC最小的情况。 假如NOA=NOB, NOC=(NOA|NO...

Pyhton 书签

千行代码入门Python https://github.com/xianhu/LearnPython [学Python/Perl]   Python刷题的一些技巧分享 http://www.1point3acres.com/bbs/thread-207345-1-1.html

552资料

1.贝叶斯,全概率,边缘概率,等等: http://www.jianshu.com/p/c59851b1c0f3

面试 Tips

1.教你如何迅速秒杀掉:99%的海量数据处理面试题 http://blog.csdn.net/v_july_v/article/details/7382693 2. http://www.programmerinterview.com/

258. Add Digits

class Solution(object):     def addDigits(self, num):         """         :type num: int         :rtype: int         """         if num==0:             return 0         a=num%9         return a if a !=0 else 9 找规律题……醉了 class Solution (object) : def addDigits (self, num) : """ :type num: int :rtype: int """ res = num % 9 return res if (res != 0 or num == 0 ) else 9

520. Detect Capital

class Solution(object):     def detectCapitalUse(self, word):         """         :type word: str         :rtype: bool         """         return word.istitle() or word.isupper() or word.islower() 这道题……放在python里面就是纯考string库的了= = 只超过了32%的人?WTF 好吧大家速度都差不多。

Python函数手册_String

S.lower() #转换为小写 S.upper() #转换为大写 S.swapcase() #大小写互换 S.capitalize() #首字母大写 S.startswith(prefix[,start[,end]]) #是否以prefix开头 S.endswith(suffix[,start[,end]]) #以suffix结尾 S.isalnum() #是否全是字母和数字,并至少有一个字符 S.isalpha() #是否全是字母,并至少有一个字符 S.isdigit() #是否全是数字,并至少有一个字符 S.isspace() #是否全是空白字符,并至少有一个字符 S.islower() #S中的字母是否全是小写 S.isupper() #S中的字母是否便是大写 S.istitle() #S是否是首字母大写的 #str.index 和str.find 功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。 str.index:检测字符串中是否包含子字符串str,可指定范围 a='hello world' >>> a.index('l') str.rstrip(): 删除字符串右边指定字符,默认为 空格 str.lstrip(): 删除字符串左边的指定字符,括号的写入指定字符,默认为空格 str.strip(): 删除字符串两边的指定字符,括号的写入指定字符,默认为空格 str.index(str, beg=0, end=len(string)) Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。 用法: def matches(open,close): opens = "([{" closers =...

485. Max Consecutive Ones

class Solution(object):     def findMaxConsecutiveOnes(self, nums):         """         :type nums: List[int]         :rtype: int         """         sumo=0         output=0         for i in nums:             if i==1:                 sumo+=1             elif i==0:                 output=sumo if sumo>output else output                 sumo=0         return max([output,sumo])       秒了一题…甚至连bug都没de(好吧除了最后一个max) 但是只超过了30%多的人。 !!!等等,把最后一个max里面的[]去掉之后,超过了80%的人!!啥情况,研究一下。 好吧,好像就是这个生成list耽误了点时间。原来max里面可以接一串数字……我以为只能放iterable呢……是什么让我产生了这样的误解。。 class Solution (object) : def findMaxConsecutiveOnes (self, num...

JAVA Tips Oct.2017

图片
1.抽象类和接口: http://www.cnblogs.com/dolphin0520/p/3811437.html 2.异常处理 public void dothing( int a, int b) throws Exception1,Exception3 { try { // ...... } catch (Exception1 e){ throw e; } catch (Exception2 e){ System.out.println( "自己打印提示,不抛出" ); } if (a!= b) throw new Exception3("自定义异常" ); } 代码块中可能会产生3个异常,(Exception1,Exception2,Exception3)。 如果产生Exception1异常,则捕获之后再抛出,由该方法的调用者去处理。 如果产生Exception2异常,则该方法自己处理了(即打印出字符串:自己打印提示,不抛出)。所以该方法就不会再向外抛出Exception2异常了,void dothing() throws Exception1,Exception3 里面的Exception2也就不用写了(当然你写了也不会报错的),throws 就是声明可能抛出的错误,而Exception2 并未做出抛出操作。 而Exception3异常是该方法的某段逻辑出错,程序员自己做了处理,在该段逻辑错误的情况下抛出异常Exception3,则该方法的调用者也要处理此异常。 3.JAVA泛型: http://blog.csdn.net/s10461/article/details/53941091 4.JAVA反射 5.java的String比较: https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java  要用.equals,因为==只能对string po...

136. Single Number

class Solution(object):     def singleNumber(self, nums):         """         :type nums: List[int]         :rtype: int         """         nums.sort()                 if len(nums)==1:             return nums[0]                 sumo=nums[0]         for i in list(range(1,len(nums))):                if nums[i]!=nums[i-1]:                 sumo+=nums[i]             else: sumo-=nums[i]         return sumo 这是我的算法,不能算秒,但是想了很久= = 我也不知道这个复杂度是不是O(n).. class Solution (object) : def singleNumber (self, nums) : """ :type nums: List[int] :rtype: int """ res = 0 ...