我正在参与2010年的代码堵塞,我解决了小数据集的两个问题,但我甚至没有接近在8分钟时间内解决大数据集.
我想知道是否有人解决了大数据集:
我正在用Ruby编写解决方案,这不是我的日常用语,而是在我的Macbook Pro上执行它们.
问题A和问题C的解决方案在github上,网址为http://github.com/tjboudreaux/codejam2010.
我很感激您的任何建议.
FWIW,我在大学里有很多C++经验,我的主要语言是PHP,而我的"沙盒"语言是Ruby.
我是不是有点野心勃勃,在Ruby中用这个来解决这个问题,不知道语言在哪里为性能而挣扎,或者是否有人看到任何关于为什么我无法及时完成大数据集的红色标志.
我已经意识到我正在使用Drupal加载大量资源(24个css和17个js文件).我安装了几个模块,它们都带有css和js文件.
对于我的网站,我只使用了1个额外的js插件(所有其他16个都带有Drupal模块).
我没有安装无用的模块.它们都是必需的,它们需要js,如swfobject,ajax_views,jquery.media,spamspan,lightbox(模态,视频和默认js文件)等等
与css文件相同:ckeditor,filefield,lightbox,tagadelic,uploadfield,fieldgroup,vews,taxonomy_super_select,html-element,tabs,messages ...等
对于我的网站,我当然只使用我的主题css zen.css.
那么..这是正常的吗?或者我应该删除所有这些东西?drupal网站通常很重吗?
谢谢
在F#中实现可变数据结构的好方法是什么?我问的原因是因为我想回去实现我在本学期学习的算法课程中学到的数据结构(跳过列表,splay树,融合树,y-fast尝试,van Emde Boas树等等) .),这是一门纯粹的理论课程,没有任何编码,我想我也可以尝试学习F#,而我正在这样做.我知道我"应该"使用手指树来获取功能语言中的splay树功能,并且我应该做一些懒惰的事情以获得跳过列表功能等,但是我想在尝试之前确定基本知识玩纯粹的功能实现.
有很多的怎么做功能性数据结构在F#的例子,但没有太多关于如何做可变数据结构,所以我一开始就固定了双向链表这里到的东西,允许插入和删除的任何地方.我的计划是将其转换为跳过列表,然后对我想要实现的树结构使用类似的结构(记录的区别联合).在我开始更重要的事情之前,有没有更好的方法在F#中做这样的可变结构?我应该只使用记录而不打扰受歧视的联盟吗?我应该使用课吗?这个问题"甚至没有错"吗?我是否应该在C#中使用可变结构,而不是直到我想将它们与纯功能对应物进行比较?
并且,如果记录的DU是我想要的,我可以更好或更具惯用地编写下面的代码吗?看起来这里有很多冗余,但我不知道如何摆脱它.
module DoublyLinkedList =
type 'a ll =
| None
| Node of 'a ll_node
and 'a ll_node = {
mutable Prev: 'a ll;
Element : 'a ;
mutable Next: 'a ll;
}
let insert x l =
match l with
| None -> Node({ Prev=None; Element=x; Next=None })
| Node(node) ->
match node.Prev with
| None ->
let new_node = { Prev=None; Element=x; Next=Node(node)}
node.Prev <- Node(new_node)
Node(new_node)
| Node(prev_node) ->
let …Run Code Online (Sandbox Code Playgroud) 令人惊讶的是,我找不到关于如何通过谷歌大学设置Selenium WebDriver使用selenium-webdriver gem的第一步指南.我想gem需要知道我存储所有这些jar文件的位置才能开始.我该如何配置?
在页面上http://phor.net/personal有一堆q元素,但它们都显示引号(OS X 10.6.3/Chrome 5).我想阻止这一点.这可能吗?
我希望用户能够使用滑块更改系统音量,我意识到执行此操作的唯一方法是使用MPVolumeView.
但我找不到任何示例代码,我尝试实现的每个方法都不会出现.
那么实现MPVolumeView的最简单,最正确,最有效的方法是什么?
为什么以及如何解除引用函数指针只是"什么都不做"?
这就是我所说的:
#include<stdio.h>
void hello() { printf("hello"); }
int main(void) {
(*****hello)();
}
Run Code Online (Sandbox Code Playgroud)
来自这里的评论:
函数指针解除引用就好了,但生成的函数指示符会立即转换回函数指针
从这里的答案:
解除引用(以你认为的方式)函数的指针意味着:访问CODE内存,因为它将是一个DATA内存.
不应该以这种方式取消引用函数指针.相反,它被称为.
我会使用"dereference"这个名字与"call"并排使用.没关系.
无论如何:C的设计方式是函数名称标识符和变量保持函数的指针都是相同的:地址到CODE内存.它允许通过在标识符或变量上使用call()语法来跳转到该内存.
如何准确地不提领一个函数指针的工作?
我在param脚本开头有了以下块
param(
[string]$command,
[string]$version = "1.1.0"
)
Run Code Online (Sandbox Code Playgroud)
这是好的,只是我需要$version给不成为一个位置参数,因此,如果您键入
.\script.ps1 run argument
Run Code Online (Sandbox Code Playgroud)
然后$args应该包含"参数",$version应该是"1.1.0".我知道我可以使用C#Cmdlet来实现它,但如果我能将它作为单个脚本提供,那将会更方便.
我是否需要创建一个新模块,并将接口绑定到不同的实现?
Chef newChef = Guice.createInjector(Stage.DEVELOPMENT, new Module() {
@Override
public void configure(Binder binder) {
binder.bind(FortuneService.class).to(FortuneServiceImpl.class);
}
}).getInstance(Chef.class);
Chef newChef2 = Guice.createInjector(Stage.DEVELOPMENT, new Module() {
@Override
public void configure(Binder binder) {
binder.bind(FortuneService.class).to(FortuneServiceImpl2.class);
}
}).getInstance(Chef.class);
Run Code Online (Sandbox Code Playgroud)
我无法触及Chef Class和Interfaces.我只是一个客户端在运行时绑定到Chef的FortuneService到不同的接口.
java dependency-injection inversion-of-control guice robot-legs-problem
作为练习,我实现了数学幂函数.一旦使用recur:
(defn power [a n]
(let [multiply (fn [x factor i]
(if (zero? i)
x
(recur (* x factor) factor (dec i))))]
(multiply a a (dec n))))
user=> (time (dotimes [_ 10000] (power 2 512)))
"Elapsed time: 1839.406746 msecs"
Run Code Online (Sandbox Code Playgroud)
有一次使用lazy-seq:
(defn power [a n]
(letfn [(multiply [a factor]
(lazy-seq
(cons a (multiply (* a factor) factor))))]
(nth (multiply a a) (dec n))))
user=> (time (dotimes [_ 10000] (power 2 512)))
"Elapsed time: 2162.297827 msecs"
Run Code Online (Sandbox Code Playgroud)
您认为哪种实施方式更优越?我真的不知道..(我会使用复发,因为它更容易理解.)
我读到lazy-seq很快,因为它使用内部缓存.但我在样本中看不到缓存的任何机会.我忽略了什么吗?
更新
我发布了样本的时间.似乎复发在这里稍快一些.
定期递归也不会太糟糕:
(defn …Run Code Online (Sandbox Code Playgroud)