月份:2015年3月

Home / 月份:2015年3月

java构造器方法重载

2015-3-31 17:00:21 | Java | 没有评论

构造函数和重载这种最早在C++里见识过的东西,对于JAVA新手来说,感觉也没啥神奇的

java里的构造器名字必须跟类名完全一致,但是假如构造器方法不带任何参数,就可以省略掉;也就是说用new创建类对象的时候,类名后面的()中如果不带参数,会默认分配存储空间,并自动调用省略掉的默认构造器(你写了也无妨),而假如带有参数,类里的构造器方法重载必须自行重写,系统默认调用的构造器是不带任何参数的

$ cat[......]

Read more

java文件名和类名要求

2015-3-25 17:13:17 | Java | 没有评论

在随手写小例子的时候

import java.util.*;

public class MyClass {
    int a = 10;
}

public class hello {
    public static void main(String[] args){
        MyClass class1 = new MyClass();
	MyClass class2 = new[......]

Read more

java static

2015-3-25 12:51:43 | Java | 没有评论

一般通过new创建类对象,才会分配存储空间,方法才被外界调用

public class hello {
        public static void main(String[] args){
                people p1 = new people();
                p1.i ++;
                System.out.println[......]

Read more

java引用和对象作用域

2015-3-21 16:42:42 | Java | 没有评论

java也是通过对象引用来操作,对于对象的作用域,假如是通过new创建的,应该是在堆里进行存储分配的,而且会一直存在

public class hello {
    public static void main(String[] args){
                String a = "hello";
                {[......]

Read more

Reverse Bits 续

2015-3-12 13:48:28 | LeetCode | 没有评论

Reverse bits of a given 32 bits unsigned integer.

For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as001110010111[……]

Read more

Reverse Bits

2015-3-11 14:12:17 | LeetCode | 没有评论

Reverse bits of a given 32 bits unsigned integer.

For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 001110010111[……]

Read more

Factorial Trailing Zeroes 续

2015-3-10 21:12:12 | LeetCode | 没有评论

Given an integer n, return the number of trailing zeroes in n!.

Note: Your solution should be in logarithmic time complexity.

 

有了前面C里的仔细研究,python实现应该是手到擒来,突然这时候才注意到Note里已经标明了,时间复杂度在log

可见就算时间复杂度[……]

Read more

Factorial Trailing Zeroes

2015-3-10 20:44:53 | LeetCode | 没有评论

Given an integer n, return the number of trailing zeroes in n!.

Note: Your solution should be in logarithmic time complexity.

 

这个题目貌似十分清晰,求n的阶乘,末尾的0个数

末尾为0的个数,也就是2 * 5的个数,但是前提是所有的数都分解成了质数,而显然分解之[……]

Read more

Number of 1 Bits 续

2015-3-10 13:45:48 | LeetCode | 没有评论

不论难易,每道题用python和C都实现一遍是目标

这道题就比较简单了,一次到位

int hammingWeight(uint32_t n){
    int i = 0;
    while (n){
        if (n % 2)
            ++i;
        n = n / 2;
    }
    return i;
}

C的性能就是好

600 / 600 test[......]

Read more

Rotate Array 继续续

2015-3-9 23:50:24 | LeetCode | 没有评论

继续用C语言来完成这道题,给出的函数和参数为

void rotate(int nums[], int n, int k) {
    
}

一个数组,一个长度,一个旋转移动次数

考虑C语言可不能想脚本语言那样才想问题,比如对于[1, 2, 3, 4, 5,6],n = 6, k = 2

[1, 2, 3, 4, 5, 6] ==》 [5, 6, 1, 2, 3, 4]

[1, 2, 3, 4, 5,[……]

Read more

Rotate Array 续

2015-3-6 22:59:51 | LeetCode | 没有评论

前面提交的主要出现两个问题:

1:题目意思没弄对,在函数里面print是不对的,原意是通过函数调用修改穿进去的列表参数

2:由于传进去的列表是可变数据类型,因此要想修改传进去的参数列表,不能重新创建一个列表对象,而应该对列表元素进行修改,显然下面之前的方法是错误的

class Solution:
    # @param nums, a list of integer
    # @param k,[......]

Read more

1:对象

python对象有三个属性:身份,类型和值

身份是唯一标识自己的东西,就像身份证号一样,不过这里可以理解成对象的内存地址;类型决定了对象可以保存什么类型的值,可以进行哪些操作等;值就是对象的数据项

2:变量

变量储存的是内存对象的引用,可以形象理解成指向某种类型对象的一个引用,指向对象,或者理解成一个对象的标签,名字;变量无类型

关于对象和变量

(1)a = 1

一个整型对象被创建,值为[……]

Read more

Rotate Array

2015-3-4 22:52:43 | LeetCode | 没有评论

Rotate an array of n elements to the right by k steps.

For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].

Note:
Try to come up as many solutions as you can, the[……]

Read more

python执行顺序

2015-3-3 12:42:35 | Python | 没有评论

本来是想看看各类变量和成员变量相互关系,结果下面几行代码让对执行顺序产生了一点疑问

#!/usr/bin/env python
# coding = utf-8

class myClass:
    a = 1
    print 'class:   ' + str(id(a))

    def __init__(self):
        print 'init:    ' + str(id[......]

Read more

矩阵转置

2015-3-1 22:52:57 | Python | 没有评论

转置就是矩阵行列对换,相当于另一种显示形式,ndarray数组还有这种转置特性,而且和数学里做转置的符号T一样,也有一个T属性

>>> import numpy as np
>>> data = np.arange(15).reshape((3, 5))
>>> data
array([[ 0,  1,  2,  3,  4],
       [[......]

Read more

NumPy

2015-3-1 01:03:36 | Python | 没有评论

python里内置的数据类型里没有多维数组,NumPy是一个数据分析的包,提供了一个N维数组对象ndarray,可以作为大数据容器做一些数据计算

通过sourceforge很容易下载到NumPy,但假如是在windows下安装的时候,要注意python一定要安装32bit版本,因为NumPy提供的只有32bit的,假如你安装了个64bit的python,在安装NumPy过程中会找不到python,[……]

Read more