我的一个朋友正在面试一份工作.其中一个面试问题让我思考,只想得到一些反馈.
有2个非负整数:i和j.给定以下等式,找到(最优)解决方案以对输出进行排序的方式迭代i和j.
2^i * 5^j
Run Code Online (Sandbox Code Playgroud)
所以前几轮看起来像这样:
2^0 * 5^0 = 1
2^1 * 5^0 = 2
2^2 * 5^0 = 4
2^0 * 5^1 = 5
2^3 * 5^0 = 8
2^1 * 5^1 = 10
2^4 * 5^0 = 16
2^2 * 5^1 = 20
2^0 * 5^2 = 25
Run Code Online (Sandbox Code Playgroud)
尽我所能,我看不到一个模式.你的意见?
grouperArray.sort(function (a, b) {
var aSize = a.gsize;
var bSize = b.gsize;
var aLow = a.glow;
var bLow = b.glow;
console.log(aLow + " | " + bLow);
return (aSize < bSize) ? -1 : (aSize > bSize) ? 1 : 0;
});
Run Code Online (Sandbox Code Playgroud)
所以上面的代码按gsize对数组进行排序 - 从最小到最大.它运作良好.但如果gsize是相同的,我希望它然后按发光排序.
谢谢.
所以我正在开发一个包含许多模块的相当大的python项目."main"(可运行)模块是一个守护进程(实际上是一个Thrift守护进程),它调用其他模块来实现其实际功能.启动守护程序需要很长时间,因为某些模块具有相当冗长且涉及的初始化过程.
因此,当我启动守护进程时,我等待......让我们说......加载所有内容需要2分钟,这在宏伟计划中并不算太糟糕.然而,对于开发而言,它变成了一个主要的痛苦,因为我需要每次都重新启动守护程序,这已经浪费了我很多时间.
大多数模块只需几秒钟即可加载.理想情况下,我想要做的是检测特定模块中的任何文件何时发生更改,然后重新加载该特定模块.我已经想出了如何重新加载模块,但此时我无法弄清楚如何观察特定模块的变化.请记住,.py
在这种情况下,模块不是单个文件,而是具有__init__.py
5-10个.py
文件的目录,因此我需要检测其中任何文件何时发生更改.
这是项目布局(如果它有任何区别)
project
| -- daemonize.py
| -- main.py
| -- moduleA
| | -- __init__.py
| | -- happy_panda.py
| ` -- sad_panda.py
| -- moduleB
| | -- __init__.py
| | -- takes_forever_to_load.py
| ` -- seriously_get_some_coffee.py
| -- moduleC
| | -- __init__.py
| | -- frequently_changes.py
| | -- reasons_i_hate_my_job.txt
| ` -- home_address_of_moduleB_developer.txt
` -- service.py <-- uses modules A, B, and C …
Run Code Online (Sandbox Code Playgroud) 我想要一个我正在构建的程序,以便能够在运行时报告自己的版本(例如scala myprog.jar --version
).传统上在maven项目中,我使用资源过滤(pom.xml - > file.properties - >在运行时读取值).我知道有sbt-filter-plugin来模仿这个功能,但我很好奇是否有更标准/首选/聪明的方法在SBT中这样做.
tl; dr如何读取build.sbt
运行时定义的版本号?
我想向一些朋友解释如何在启动时为他们的Linux系统添加多键支持,但首先我需要它们来制作一个bash脚本.我想做一个简单的命令让他们复制和粘贴,我正在测试我做的这个命令,但它一直在抛出一个错误.只有当我添加shebang线时,这很重要.
$ sudo echo -e "#!/bin/bash \nxmodmap \"keysym Alt_R = Multi_key\"" > /etc.init.d/multikey.sh
Run Code Online (Sandbox Code Playgroud)
有什么简单的方法来回应一个shebang线?
我正在运行一个4节点的Cassandra集群.我们的一些节点有一些非常大的快照,而且我们的磁盘空间不足.我需要删除快照,但我找不到任何说明如何正确执行此操作的文档.我是否只关闭节点并删除snapshots目录中的文件?有某种命令吗?谢谢.
由于Scala -versions 之间只有源兼容性,因此您不得不为它们支持的每个scala版本编译scalatest或scalamock等库.让我感到困惑的是,这些库提供了大量的工件(scalatest_2.9.0,scalatest_2.9.1,scalatest_2.10等等) - 每个scala版本都有一个,这样maven存储库中就堆满了许多由人工制作的文物.相同的来源.我的直觉告诉我宁愿为每个scala版本使用一个带有分类器的工件.(事实上,maven pom参考提到有时用jdk14和jdk15分类器来完成这些工件,这看起来和我类似.)那么,为什么Scala人会去寻找许多神器矫枉过正:-)而不是?
美好的一天!
我有一个具有以下属性的对象学生:
class Student
String name
Date birthday
Run Code Online (Sandbox Code Playgroud)
我使用arrayList来存储学生对象我的问题是,如何使用collecitons排序按生日对StudentList进行排序?
List <Student> studentList = new ArrayList<Student>();
Run Code Online (Sandbox Code Playgroud)
我该如何编码呢?
Collections.sort(????);
谢谢
我会事先说这个问题在本质上与此类似.有一个关键区别使得这个独特:我想使用原始git协议(如果您不熟悉基本包网络协议,请参阅此处和此处).
我正在编写一个使用Scala和JGit的应用程序,它将连接到一个匿名的git存储库.我想请求一个blob(想想"/path/to/file.txt"@"refs/heads/branch1").最终,我的目标是以编程方式从远程存储库中检索单个文件.看起来像是一件非常有用的事情.
Anywho,我一直在钻研这个协议的内部.似乎这个的基本版本是"我想要这些对象,我有这些对象" - 而bam,有一个包含你没有的东西的包文件.我的问题的核心是这样的:如何以非递归的方式向git-upload-packfile请求单个对象?我可以下载一个提交对象,然后查询树,然后是一个子树,然后是另一个子树,最后是blob本身.速度在这里并不重要,主要是我试图节省带宽.但似乎根本没有办法告诉git-upload-packfile,"请只给我一个我要求的对象".
是的,有"有"列表,它基本上会排除对象的下降,但是这需要对存储库内容的先验知识(我没有本地存储库,请记住).我可以生成所有可能sha1的列表,并发送除我想要的所有sha1之外的所有sha1,但这超出了荒谬(耗时,带宽消耗,并且对各地的程序员犯罪)
我一直在研究的另一个可能的解决方案是在远程端使用git-upload-archive,尽管我承认我还没有花太多时间去研究它.
我非常愿意重写JGit,所以请不要将其视为"我如何让JGit做......".我只是想知道协议本身是否能够做到这一点.我觉得有一种非常聪明的方式滥用协议来实现我想要的东西.有什么想法吗?
我正在努力将mono嵌入到我正在创建的应用程序中,而且我还没有超级远,但我似乎无法找到的一件事就是当我使用对象并完成时如何告诉mono用一个对象.
我想保留对C#对象的引用来调用方法,直到它在C++中的并行对象的生命周期结束,此时,我想告诉mono,C#对象可以安全地收集.
这是如何完成的?