小编med*_*pal的帖子

最快的算法来检查一个数字是否是pandigital?

Pandigital数字是一个包含数字1..number长度的数字.
例如123,4312和967412385.

我已经解决了许多Project Euler问题,但Pandigital问题总是超过一分钟规则.

这是我的pandigital功能:

private boolean isPandigital(int n){
    Set<Character> set= new TreeSet<Character>();   
    String string = n+"";
    for (char c:string.toCharArray()){
        if (c=='0') return false;
        set.add(c);
    }
    return set.size()==string.length();
}
Run Code Online (Sandbox Code Playgroud)

创建自己的函数并使用此方法对其进行测试

int pans=0;
for (int i=123456789;i<=123987654;i++){
    if (isPandigital(i)){
         pans++;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用这个循环,你应该得到720个pandigital数字.我的平均时间是500毫秒.

我正在使用Java,但问题是对任何语言开放.

更新
@andras答案到目前为止是最好的时间,但是@Sani Huttunen的回答激发了我添加一个新的算法,它几乎与@andras相同.

c# java algorithm

27
推荐指数
4
解决办法
2万
查看次数

使用依赖注入的真实世界解决方案

我正在彻底阅读DI,看起来很有趣.到目前为止,我完全没有它.

我看到的所有例子都与JNDI以及DI如何帮助您提高灵活性有关.

您通过DI解决的现实应用/问题在其他方面难以解决?

更新
到目前为止所有的答案都在教育,但是为了重新解释这个问题,我正在寻找编程生涯中的例子,这让你说"这个问题最好用DI框架来解决".

c# java spring dependency-injection

21
推荐指数
2
解决办法
3398
查看次数

如何自定义MPVolumeView?

我已经尝试了许多方法来实现常规UISlider和控制设备卷,但它是所有Native-C函数,导致许多无法追踪的错误.

我试过MPVolumeView它就像魅力一样,它甚至在你关闭应用程序后控制设备音量,就像iPod应用程序一样.

我的问题是,无论如何要定制MPVolumeView特定的颜色和图像,就像UISlider

注意:我想要一个合法的方法,而不使用私有的未记录的API.

更新
根据@Alexsander Akers的回答,由于子视图隐藏在MPVolumeView我必须遍历子视图,获取UISlider并自定义它,这里是代码.

IBOutlet UISlider *volumeSlider;   //defined in <class.h> and connected to a UISlider in Interface Builder

-(void) viewDidLoad {
     ....
     [self setCustomSlider];
     ....
}

-(void) setCustomSlider{
     MPVolumeView *volumeView = [[[MPVolumeView alloc] initWithFrame:[volumeSlider frame]] autorelease];
     NSArray *tempArray = volumeView.subviews;

     for (id current in tempArray){
           if ([current isKindOfClass:[UISlider class]]){
                    UISlider *tempSlider = (UISlider *) current;
                    UIImage *img = [UIImage imageNamed:@"trackImage.png"];
                    img = [img stretchableImageWithLeftCapWidth:5.0 topCapHeight:0]; …
Run Code Online (Sandbox Code Playgroud)

iphone audio-streaming avaudioplayer

19
推荐指数
2
解决办法
9013
查看次数

使用try/catch而不是多个IF语句更好吗?

try/catch在Java中使用块而不是使用多个If语句来检查用户输入是否更好,更便宜或更具可读性?

解析Date字符串时的示例,使用try/catch块直接解析而不是编写查找非法字符的多个语句不是更好.

在另一个例子中,假设我想要读取文件或流,而不是使用Scanner,我只是强制该方法并等待发生异常.

这是一种健康的编程方法吗?它在虚拟机上更便宜吗?

更新
这里是我在使用DateFormat异常时的意思的一个例子,有时它可能是一个真正的问题来捕获错误,并且这样做,你能保证你的复杂(通常是不可读)代码容易出错吗?

java try-catch

14
推荐指数
1
解决办法
6730
查看次数

什么是在页面之间发送参数的最佳方式?

我们在我们的项目中使用JSF(我很新),每个页面都有一个后端bean Java文件.

为了从一个页面移动(重定向)到另一个页面,我需要在重定向之前将所有参数(搜索条件)放在请求范围中,然后在下一个页面构造函数中将其检索回来.如果你的页面很少,并且想要回到顶部,那么维护它会变得非常烦人.

例如,如果我有第1页的高级搜索过滤器,根据所选项目重定向到第2页,从第2页开始,您将获得另一个列表,您可以转到第3页了解详细信息.现在每次我需要将所有参数放在请求范围内/再次读取它们时,将它们存储在隐藏字段中并将它们取回.

这个方法究竟是什么问题,并且在JSF中有更好的方法吗?

编辑:环境是IBM Rational Application Developer(RAD),它有自己的JSF实现.不确定这是否有所作为.

jsf servlets

3
推荐指数
1
解决办法
2573
查看次数

函数调用的奇怪行为

在调用Javascript函数时,似乎JS优先考虑没有参数的函数,即使我有与参数相同的函数名.奇怪的行为只发生在以下场景中:

我有一个嵌入了Javascript的HTML页面,如下所示:

 //Javascript in the page  
 function testAbc(){
       alert('testAbc no params');
 }

 //Javascript in common.js
 function testAbc(x){
      alert('testAbc with param:'+x);
 }
 function testAbcFunc(x){
      testAbc(x);
 }
Run Code Online (Sandbox Code Playgroud)

现在从页面的某个地方,im testAbcFunc从common.js 调用,期望它testAbc使用参数调用,这是常用函数.但奇怪的是,JS在没有params的情况下回调原始页面中的函数!!

我已经在几个小时前调试了这个bug,我尝试了这个简短的代码来重现这个bug,它确实每次都会发生.

注意:如果所有函数都在同一页面中,则会调用正确的函数(带参数),但是当它们在页面和JS文件之间分开时.JS似乎优先考虑页面中的功能,即使它没有参数

javascript function

2
推荐指数
1
解决办法
174
查看次数

如何在没有XIB的情况下将Tab Bar添加到现有视图控制器

试图尽可能避免使用Interface Builder.

目前我通过代码创建了视图控制器,并通过代码更改了视图.

我现在需要其中一个步骤将应用程序发送到带有标签栏的新视图,这样我也可以更改视图.

理想情况下,我要做的是告诉当前的视图控制器在底部添加一个Tab Bar,但我不确定这是否可行,所以我可能不得不用UITabBarController交换UIViewController?

任何帮助将不胜感激.

干杯,安德烈

iphone xcode uitabbarcontroller

2
推荐指数
1
解决办法
2万
查看次数

SQL本周选择数据

您好我如何获得本周的数据?

从Transaction中选择*,其中transactionDate ....

sql ms-access

2
推荐指数
1
解决办法
6686
查看次数

密码出现在PHP post请求中是否正常,即使它是HTTPS页面?

在PHP中,在创建登录页面时,如果您的页面是HTTPS,用户名/密码是否通常出现在请求发布信息中?

密码不应加密吗?我错过了什么?

这是我正在谈论的一个例子:这个网站叫做souq.com,你可以在Firebug监控中看到它显示用户名和密码.

Souq.com截图

php security

2
推荐指数
1
解决办法
128
查看次数

在IF条件下调用方法是否可读?

这种编写IF条件的方式是否在Java和C#语言中被认为是良好的编码风格?

if (checkIfIdInFirstRange()){
    //call Range1 handling method
}else if(checkIfIdInSecondRange()){
    //call Range2 handling method
}else{
    //call error handling method
}
Run Code Online (Sandbox Code Playgroud)

我想知道IF条件本身内部的方法,还是更好的做法:

int idInRange = getIdInRange();
//handle isInRange
Run Code Online (Sandbox Code Playgroud)

c# java coding-style

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