- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我只是想知道我在之前的算法测试中遇到的一个问题。问题是关于一个男孩的写作和论文。他想最大限度地增加以“r”结尾的行数,因为他觉得这会导致他的论文获得更高的分数(什么......)。
无论如何,论文的限制是每行的最后 72-80 个字符需要有一个字母,除非包含下一个单词会超过一行中的 80 个字符(例如,我们可以有一个没有字母的行72-80 个字符点(如果添加下一个单词会使该行有 80 多个字符)或者它是最后一行(最后一行可以少于 72 个字符)。
例如,如果约束是 10-15 而不是 72-80,格式将如下所示:
123456789012345
The slow blue
dog is
entertaining
是否有一种有效的算法可以在保持 72-80 个字母限制的同时最大化以字母“r”结尾的行数?我们不能剪切整个单词以生成以“r”结尾的行。
我尝试使用的算法是这样做的:
我对这个贪心算法的主要问题是第 2 步。尽可能多地填充该行有可能防止 future 以“r”结尾的行。
将此算法与 10-15 约束一起使用将得到:
123456789012345
The man was in
the backgarden
or the yard
但最佳解决方案是:
123456789012345
The man was
in the
backgarden or
the yard
:(
最佳答案
这可以通过动态规划解决方案来完成。
给文本中的每个单词一个分数,如果文本以该单词开头(即,如果您删除了它之前的所有内容),则该分数是可能以“r”结尾的行数的最大值。
因此,例如,最后一个单词的分数将为 0 或 1(取决于它是否以“r”结尾)。第一个单词的分数就是你需要的答案。
从最后到第一个单词计算分数。对于给定的单词,分析所有可能性以创建第一行。对于给定的可能性,分数将是第二行中第一个单词的分数,如果第一行以“r”结尾则加 1。给定单词的分数将是最佳可能性的分数。
使用示例文本“那个人在后花园或院子里”:
yard: score 0
the: score 0
or: score 0 (only possibility for first line is "or the yard")
backgarden: score 1 (there are two possibilities for first line, the better one
is "backgarden or" which gives the score of "the" plus 1).
the: score 0 (only possibility for first line is "the backgarden")
in: score 1 (first line is "in the" which gives the score of "backgarden")
was: score 1
man: score 1 (first line is either "man was in" or "man was in the". The second
option gives the score of "backgarden" which is 1.
The: score 1 (best first line is "The man was" which gives the score of "in").
计算分数后,要构建最佳的行分隔文本,请从第一个单词开始,为第一行选择最佳可能性(如上所述),然后重复下一行的第一个单词。
关于algorithm - 最大化以字母 r 结尾的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20319100/
给定一个包含 n 个非负整数的数组:A1、A2、...、AN。如何找到一对整数 Au, Av (1 ≤ u ans) { ans=arr[i] & arr[j
有人知道这段代码的正确解决方案吗? BOOL maximized = [myWindow isMaximized]; 最佳答案 也许看看 isZoomed 关于cocoa - NSWindow 最大化
当前有一个 MySQL 数据库,但遇到 MySQL 以 600% CPU 使用率运行的问题。 规范: 2.3 GHz Intel Xeon® E5-2686 v4 (Broadwell) 处理器或 2
我已将 Skype 配置为在 Windows 启动时最小化启动。 现在我需要通过全屏应用程序按钮中的一个按钮将 Skype 置于最前面。我有这段代码: For Each p As Proces
我已经有一段时间没有做任何生疏的程序了。我正在研究代码以最大化和最小化其他应用程序。所以我找到了一些基本的东西,这就是我所拥有的,对原来的东西稍作修改。它希望我生成一些我所做的 FindWindow
我有一个 Windows CE 应用程序,它记录移动设备的击键。有一个用于初始化录制功能的按钮,它通过调用强制主窗口最小化: ShowWindow (hWnd, SW_MINIMIZE); 在最小化窗
我想显示一个占据尽可能多屏幕空间的对话框。 所以,这是一个示例: AlertDialog dialog = new AlertDialog.Builder(ctx)......create(); Wi
对Wndows用户来说,最小化/最大化/关闭按钮放在系统窗口的右上角是肯定的。而大多数朋友都是成为Wndows用户之后才成为Ubuntu用户的,因此Ubuntu程序窗口中将这些按键放在左上角使用起来
1.Ctrl+Alt+T调出终端 2.首先安装gconf-editor: sudo apt-get install gconf-editor 会提示叫你安装 gconf-editor 安装完成
Width最大化窗口时,屏幕的属性似乎没有更新到完全最大化的宽度。如果我调整它的大小,一切正常,但在最大化时就不行。 我的代码如下: private void Window_SizeChanged(o
我正在这个 fiddle 中使用指令和 = 绑定(bind)。我收到以下错误: Uncaught Error: 10 $digest() iterations reached. Aborting! W
是否有任何快捷方式可以最大化您在 Eclipse 中使用的选项卡?假设我正在处理代码的一部分,并且我想最大化选项卡而不是使用鼠标双击它,有人知道一种方法吗? 最佳答案 CtrlM 将最大化/恢复编辑器
在 Glassdoor 评论中遇到这个问题,觉得很有趣。 Given an integer consisting of 4 digits, we need to maximize it in 24 h
在 VB6 中,我创建了一个带有一些文本框、列表框和命令按钮的表单。我使用类似 的方法设置所有这些控件的 X-Y 位置 control2.Top = form.Height * 0.50 'set
到处都有人告诉我使用这个: frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 但问题是我的 JMenuBar 时断时续地消失(发生在我身上的奇怪错误),并且
我有一个 JDesktopPane 和一个 JInternalFrame。我希望 JInternalFrame 在创建后自动最大化。如何对“最大化窗口”事件进行硬编码? 最佳答案 使用JInterna
这个问题已经有答案了: JFrame doesn't take the actual screen size (2 个回答) 已关闭 3 年前。 我想最大化我的 JFrame,就像按下“关闭”旁边的按
我正在使用 vim 和 python 编程,并使用 tpope's vim-dispatch通过运行当前文件 :Dispatch python main.py 程序的打印输出被定向到quickfix窗
假设我们有一个名为 total 的 NSDecimal 常量,它包含 3.33333333 除以 10/3 的值。 10 和 3 都是NSDecimalNumber。我们希望 Swift 中的 NSD
有谁知道如何在发生特定操作后最大化 JFrame?我将在下面发布我的代码,我是一个不评论我的代码的恶魔(我会在某个时候这样做)但它应该是相当 self 解释的。我试图做的是在从菜单中选择选项后使框架最
我是一名优秀的程序员,十分优秀!