小编Fat*_*tso的帖子

找到最接近某个值的公约数的高效算法?

我有两个号码,x1而且x2.对于一个数字y,我想计算公约数x1x2尽可能接近的公约数y.

有一个有效的算法吗?


我认为现在是时候重新解决我的问题并且更清楚了.这不是关于整数...所以,我们有两个数字x1x2.比如说,用户输入一个数字y.我想要找到的是一个y'接近的数字y,x1 % y'并且x2 % y'非常小(0.02例如,小于,但我们可以调用这个数字LIMIT).换句话说,我不需要最优算法,但需要很好的近似.

我感谢你们所有的时间和精力,非常友好!

algorithm math number-theory

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

java是否有索引的最小优先级队列?

我需要它来实现Dijkstra的算法,我确实有自己的实现,但是使用java自己的类来记录我的代码会更容易.

java dijkstra priority-queue shortest-path

8
推荐指数
2
解决办法
3561
查看次数

最接近某个值的公约数的近似值?

假设我们有两个数字(不一定是整数)x1x2.比如说,用户输入一个数字y.我想要找到的是一个y'接近的数字y,x1 % y'并且x2 % y'非常小(0.02例如,小于,但我们可以调用这个数字LIMIT).换句话说,我不需要最优算法,但需要很好的近似.

我感谢你们所有的时间和精力,非常友好!


让我解释一下我的应用程序中的问题:比如说,给出了一个屏幕尺寸,宽度screenWidth和高度screenHeight(以像素为单位).我用一个长度的正方形填充屏幕y'.比如说,用户想要的是方形大小y.如果y不是screenWidth和/或的除数,screenHeight屏幕两侧将有未使用的空间,不足以适合正方形.如果那个未使用的空间很小(例如一行像素),那就没那么糟糕了,但如果不是这样,它就不会好看.我如何才能找到共同的除数screenWidthscreenHeight

algorithm math geometry

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

我可以假设Java枚举自动递增1吗?

Java声明初始值的序数为0.我可以假设当我创建这样的枚举时:

public enum Direction {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, ...}
Run Code Online (Sandbox Code Playgroud)

序数TUESDAY总是1,WEDNESDAY总是2,......?


我会更具体一点.我正在宣布一个枚举:

public enum Direction {UP,RIGHT,DOWN,LEFT}
Run Code Online (Sandbox Code Playgroud)

现在有一种方法可以转90度(顺时针).它与序数是一条线:

direction = Direction.values()[direction.ordinal()+1 % Direction.values().length];
Run Code Online (Sandbox Code Playgroud)

如果我不使用序数,我将不得不使用switch语句或条件:

switch (direction) {
    case LEFT:newdirection = Direction.UP;
    break;
  etc...
}
Run Code Online (Sandbox Code Playgroud)

使用序数有几个优点:

  • 更短的代码
  • 更快的代码(可忽略)
  • 如果添加方向(例如DOWN_LEFT),如果将新方向放在正确的位置,则实现不一定必须更改

你怎么看?

java enumeration ordinal

7
推荐指数
2
解决办法
2480
查看次数

创建完全自定义的NSAlert

是否可以创建完全自定义的警报?我现在正在使用自定义工作表,但我希望具有工作表阻止的功能(如-[NSAlert runModal]).

当然,我只是想改变背景,真的和文字颜色.

customization cocoa objective-c nsalert

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

调用TransformProcessType()时,应用程序菜单不会显示

如果你像这样调用TransformProcessType():

ProcessSerialNumber psn = { 0, kCurrentProcess }; 
(void) TransformProcessType(&psn, kProcessTransformToForegroundApplication);
Run Code Online (Sandbox Code Playgroud)

然后cocoa应用程序菜单不显示,除非你在应用程序中尽早调用它(例如在applicationWillFinishLaunching中).

macos cocoa macos-carbon

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

使用NSArrayController过滤单列NSTableView

我提出一张带有NSTableView(一列)NSSearchField和一张NSButton('添加')的表格.我想要的是将表视图的内容设置为字符串列表.此字符串列表位于被NSArray调用列表中.应根据搜索字段的内容(如果列表中的字符串)不包含搜索字段的内容来过滤此内容,而不再在表视图中显示该内容.

我不熟悉绑定,任何人都可以帮助我.

macos cocoa nstableview nsarraycontroller cocoa-bindings

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

我不能在我的NSApplication子类中覆盖-sendEvent:

在我的mac os x app中,我将其子类化NSApplication并覆盖它的-sendEvent:方法.Apple抱怨说:

该应用程序包含框架'/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit'中的'OBJC_IVAR _ $ _ NSApplication._delegate'.

我该怎么办?我究竟做错了什么?

macos cocoa objective-c nsapplication

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

Cocoa:重置NSUserDefaults

我尝试使用-resetStandardUserDefaults,我尝试删除plist文件,没有一个真正做我需要的.我想完全重置我的首选项,就好像重新安装了应用程序一样.有一个很好的解决方案吗?

我试过了 :

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
Run Code Online (Sandbox Code Playgroud)

但Xcode抱怨道.显然,它不喜欢plist文件已经消失.这是Xcode的错误: 警告

cocoa objective-c reset nsuserdefaults

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

Mac App Store应用程序加载程序异常

我正在尝试将我的pkg文件发送给Apple,但它说:

"执行时有一般的例外"

"发生了异常:null"

那我现在要做什么:D?有线索吗?我唯一做的就是下载新的XCode,这样我就可以使用iconutil制作一个1024x1024的图标,看起来效果很好.

这是控制台中的错误输出:

23/09/12 22:15:17,993 Application Loader:  Error:
[2012-09-23 22:14:48 CEST] <main>  INFO: Transporter is searching for updated software components.
[2012-09-23 22:14:52 CEST] <main>  INFO: Transporter is up-to-date.
[2012-09-23 22:14:53 CEST] <main>  INFO: MD5 checksum calculation in the transporter will be skipped.
[2012-09-23 22:14:53 CEST] <main>  INFO: Logging level set to eXtreme
[2012-09-23 22:14:53 CEST] <main>  INFO: Logging configured successfully.
[2012-09-23 22:14:53 CEST] <main> DEBUG: Attempting refresh of configuration data from https://contentdelivery.itunes.apple.com/transporter/Defaults.properties
[2012-09-23 22:14:54 CEST] <main> DEBUG: Configuration …
Run Code Online (Sandbox Code Playgroud)

macos cocoa application-loader

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

奇怪的NSScreen坐标

这是我的NSWindow子类的构造函数FullScreenWindow:

- (id)initWithScreen:(NSScreen *)s {
NSRect contentRect = [s frame];
self = [super initWithContentRect:contentRect
                        styleMask:NSBorderlessWindowMask
                          backing:NSBackingStoreBuffered
                            defer:NO
                           screen:s];
if (self) {
    [self setCollectionBehavior:NSWindowCollectionBehaviorStationary|
                                NSWindowCollectionBehaviorCanJoinAllSpaces|
                                NSWindowCollectionBehaviorIgnoresCycle];
    [self setReleasedWhenClosed:YES];
    [self setBackgroundColor:[NSColor greenColor]];
    [self setAlphaValue:1.0];
    [self setOpaque:NO];
    [self setLevel:NSMainMenuWindowLevel-1];
}
return self;
Run Code Online (Sandbox Code Playgroud)

}

我想加入这样的NSWindow在每一个显示器[NSScreen screens],但是当我连接第二个显示器,窗户只有当我设置显示正确的方式origin.xcontentRect,以-1440第一个显示器(和0为第二个).当我获得实例origin.x的帧的值时,NSScreen它返回0第一个显示和1440第二个显示.为什么这些坐标会移位?

macos cocoa nswindow

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

通过透明窗口点击

我有一个全屏透明窗口.当用户点击它时,我希望将点击发送到窗口下面的内容.我该怎么办?

macos cocoa click nswindow objective-c-2.0

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