- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这个问题是面试中难度越来越大的问题的一部分。它的开始非常简单:
(1) Assuming an infinite supply of coins (in the usual 1, 5, 10, 25 cent denominations). Given n cents, is there always a way to make change for it using the normal denominations?
是的,因为一分钱可以划分所有可能的 n 分值。
(2) Good, now write a program that accepts n (positive) cents, and returns one possible way of making change for it
返还 n 个便士。
(3) Smart ass. What if you want to minimize the number of coins required to make the change?
从最大的面额 d_i 开始,取最大数量,这样您就不会超过 n,m_i。取 n - (d_i)(m_i) 并重复下一个最大的面额。
(4) Good, can you prove this solution is optimal?
是的,{等等,等等}
(5) Ok, *smirk* , now what if, in addition to the n cents, you were given an arbitrary-sized array consisting of arbitrary denominations? You can assume each denomination occurs only once in the array, and that all denominations are positive
我最初的想法只是对面额数组进行排序,并应用与 (4) 中相同的逻辑。幸运的是,在我传达这个之前,我发现自己并意识到这是行不通的。但现在我意识到我陷入了困境。
我的下一个想法是将求和子集问题应用于 n 的每个除数,但意识到这可能有点矫枉过正。我最终提供的解决方案只使用了 Change-making problem ,并在我找到一些解决方案时将其短路。不过,我觉得必须有一种更聪明的方法来做到这一点..
问题简化为:给定一个由不同自然数组成的有限集 S,找到 S 元素的线性组合,使 (1) 与另一个相加自然数n, (2) 最小化lin.combination中的系数之和
最佳答案
实际上这个问题已经作为Canonical coin systems 进行了研究,我们甚至得到了一篇关于如何确定给定的硬币系统是否可以支持贪婪解决方案的论文。原始论文可能会给您一些见解:Canonical coin systems for change-making problems .
或者,您可以在谷歌上搜索关键词“Canonical coin systems”以获取更多信息。
关于algorithm - 采访 : Making change for n cents (arbitrary denominations),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852951/
这个问题在这里已经有了答案: Why is "using namespace std;" considered bad practice? (41 个回答) 关闭 3 年前。 1.. 我正在测试以下
如何以编程方式在 Android 中将 9¢ 显示为 9¢? 最佳答案 Spanned spannded = Html.fromHtml("¢"); String cent
这个问题已经有答案了: HTTP Error 503, the service is unavailable (40 个回答) 已关闭 5 年前。 我在 varnish 端看到很多 503,一个假设是
应该使用什么命令将项目目录中的所有文件按照修改日期排序? 尝试了ls -t但没有找到该文件,并使用find查找指定类型的所有文件,但无法对它们进行排序。 最佳答案 您可以使用它来查找您要查找的类型的所
我正在尝试制作一个简单的振荡器程序,我可以在其中更改 Octave 类型,就像 Massive VST 用正数和负数显示它的方式一样: (来源:massivesynth.com) 现在,我知道一个 O
我的数据库有包含美分符号 - ¢ 的结果 我似乎不知道如何转义它,因此该值显示在 json feed 中。现在它返回的只是 NULL。我如何转义所有这样的符号。 数组是这样创建的 if(mysql_n
我的捐款表是这样的: id int donation smallmoney ... other columns ... 我希望运行一个报告,仅选择捐赠金额在字段的“美分”部分中非零的行。例
ten thousand cents 怎么样?实现的?我对接受用户图纸的接口(interface)的实现特别感兴趣?有没有图书馆可以促进这一点? 最佳答案 一个关键成分似乎是 Processing图书
我是菜鸟,感觉心痛,想放弃。假设我想添加 1,302.22 和“.22”部分,但没有显示。我添加的下一个货币“44.55”和五十五美分不会出现。如何解决这个问题而不让“.00”让我头疼? double
在输出中,new_dollars总是显示美元数量,所以我不知道如何解决这个问题。请帮我找出问题所在。 int main(void) { int dollars, cents, count, n
我是一名 PHP webbot 开发人员,我经常看到 VPS 服务为其客户提供多个 IP 地址。 我的问题是如何为我创建的网络机器人使用这些额外的 IP? (假设centos等) 如果您需要更多信息来
我尝试在我的 Cent OS 系统上设置 jmeter,我已成功复制并提取了 zip,但是当我尝试通过命令打开它时 - ./jmeter.sh 它显示错误,例如 - No X11 DISPLAY va
我正在运行一个 phantomJS 命令,它将 HTML 转换为包含 Cent OS 的 Docker 上的 PDF 缓冲区。 PDF 呈现良好,但字体/字体格式呈现 系统上可用的字体有: /usr/
嗨,我已经在 VM Ware 中安装了 Cent OS。我想知道IP地址。当我尝试在终端中使用“ifconfig”找到它时,它显示本地地址(127.0.0.1)。可能是什么问题?我想知道实际的IP地址
我正在尝试安装 pgloader在 centOS 6.7(64 位) 上 步骤 wget http://pgsql.tapoueh.org/pgloader/pgloader-3.0.98-21.el
这是关于我最近遇到的问题。突然执行 mv 命令后 Linux 盒子在各个方面都没有响应,下面是所发生问题的总体描述。 1) 在目标位置使用/* 执行移动命令 # mv -f *.txt /* 2) 命
我下载安装openssl 1.1.1关注此link在我的 CentOS 8 服务器上。但在那之后我无法运行像 yum 这样的命令, rpm , ssh .例如: ssh: /usr/local/ope
我有一个 Jenkins 版本在我的 CentOS 虚拟机的 8080 端口上运行。 我想在不同的端口但在同一个 CentOS VM 上安装另一个 Jenkins 版本。 我怎么能那样做?顺便说一句,
Width : 1 280 pixelsHeight : 720 pixels I'm working on a bash s
我在使用 Cent OS 7 机器时遇到了一些问题。 上周才开始出现问题,我没有对服务器进行任何更改。 磁盘每天从 83% 到 100% 多次填满。 一旦满了,Nginx就无法生成完整的网页。 如果我
我是一名优秀的程序员,十分优秀!