小编pro*_*rs5的帖子

有可能比线性搜索更快的算法?

我听说没有比线性搜索更快的算法(对于未排序的数组),但是,当我运行这个算法(线性)时:

public static void search(int[] arr, int value){
    for(int i = 0; i < arr.length; i++){
        if(arr[i] == value) return;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用长度为1000000的随机数组,查找值的平均时间为75ns,但使用此算法:

public static void skipSearch(int[] arr, int value){
    for(int i = 0; i < arr.length; i+=2){
        if(arr[i] == value) return;
    }
    for(int i = 1; i < arr.length; i+=2){
        if(arr[i] == value) return;
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到一个更短的平均值,68ns?

编辑:很多人说我没有做适当的基准测试,这是侥幸的,但我运行了1000000次这些功能并得到了平均值.每次运行1000000次函数时,第一个算法得到75-76ns,第二个算法得到67-69ns.

我用java System.nanoTime() 来测量它.

码:

int[] arr = new int[1000];
Random r = new Random();
for(int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

java algorithm search

8
推荐指数
4
解决办法
3476
查看次数

-webkit-box-shadow使用javascript无法正常更改

我有以下代码:

var oneHeight = Math.ceil(0.012*window.innerHeight).toString()+"px";
var usboxshadow="0px "+oneHeight+" 0px rgba(0,140,255,1), 0px "+oneHeight+" 25px rgba(0,0,0,.7)";
console.log(usboxshadow);
$(".unselected").css("-webkit-box-shadow",usboxshadow);
Run Code Online (Sandbox Code Playgroud)

当我将usboxshadow输出到控制台时,我得到了我应该得到的:

0px 20px 0px rgba(0,140,255,1), 0px 20px 25px rgba(0,0,0,.7) 
Run Code Online (Sandbox Code Playgroud)

(-webkit-box-shadow属性)
但是,当我用Jquery.css()检索属性时,

console.log($(".unselected").css("-webkit-box-shadow"));
Run Code Online (Sandbox Code Playgroud)

我得到了一个非常不同的结果:

rgb(0, 140, 255) 0px 20px 0px 0px, rgba(0, 0, 0, 0.701961) 0px 20px 25px 0px 
Run Code Online (Sandbox Code Playgroud)

首先,每个参数中额外的0px来自何处?

第二,为什么rgba alpha(不透明度)为0.701961,何时应为0.7?

请告诉我我做错了什么.

编辑:

运行代码后,不显示未选择类的元素的box-shadow .

html javascript css jquery css3

6
推荐指数
1
解决办法
104
查看次数

Java要求类的return语句

我有以下代码:

public class BinaryDecoder{
public static void main(String[] args){
    String binNum = "110101"; 
    int res = 0;
    for (int i = 0;i<binNum.length();i++){
        //res += parseDigit(binNum.charAt(i),binNum);
    }
//  System.out.println(res);

}
public static int parseDigit(int index, String binNum){
    switch (binNum.charAt(index)){
        case 0:
        break;
        case 1:
        int val = (int) Math.pow(2,-index+binNum.length());
        return val;
        }
}

}
Run Code Online (Sandbox Code Playgroud)

我收到错误:BinaryDecoder.java:30:错误:缺少return语句} ^

我可能已经解释了这个错误,但为什么我的类BinaryDecode有甚至需要一个return语句?代码还有其他问题吗?

注意:我在java中相当新,很抱歉,如果我的代码中有任何明显的错误.

java return class

0
推荐指数
1
解决办法
524
查看次数

标签 统计

java ×2

algorithm ×1

class ×1

css ×1

css3 ×1

html ×1

javascript ×1

jquery ×1

return ×1

search ×1