sort()Python使用的内置方法是什么算法?是否可以查看该方法的代码?
给你一个很大的范围[a,b],其中'a'和'b'通常在1到4,000,000,000之间.您必须找出给定范围内所有数字的XOR.
TopCoder SRM中使用了此问题.我看到了比赛中提交的一个解决方案,我无法弄清楚它是如何工作的.
有人可以帮助解释获胜的解决方案:
long long f(long long a) {
long long res[] = {a,1,a+1,0};
return res[a%4];
}
long long getXor(long long a, long long b) {
return f(b)^f(a-1);
}
Run Code Online (Sandbox Code Playgroud)
这里,getXor()是计算传递范围[a,b]中所有数字的xor的实际函数,"f()"是辅助函数.
我正在使用带有express + mongoose的节点并尝试将passport.js与restful api一起使用.
身份验证成功后我一直收到此异常(我在浏览器上看到了回调网址):
/Users/naorye/dev/naorye/myproj/node_modules/mongoose/lib/utils.js:419
throw err;
^
Error: passport.initialize() middleware not in use
at IncomingMessage.req.login.req.logIn (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/http/request.js:30:30)
at Context.module.exports.delegate.success (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/middleware/authenticate.js:194:13)
at Context.actions.success (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/context/http/actions.js:21:25)
at verified (/Users/naorye/dev/naorye/myproj/node_modules/passport-facebook/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth2.js:133:18)
at Promise.module.exports.passport.use.GitHubStrategy.clientID (/Users/naorye/dev/naorye/myproj/config/passport.js:91:24)
at Promise.onResolve (/Users/naorye/dev/naorye/myproj/node_modules/mongoose/node_modules/mpromise/lib/promise.js:162:8)
at Promise.EventEmitter.emit (events.js:96:17)
at Promise.emit (/Users/naorye/dev/naorye/myproj/node_modules/mongoose/node_modules/mpromise/lib/promise.js:79:38)
at Promise.fulfill (/Users/naorye/dev/naorye/myproj/node_modules/mongoose/node_modules/mpromise/lib/promise.js:92:20)
at /Users/naorye/dev/naorye/myproj/node_modules/mongoose/lib/query.js:1822:13
Run Code Online (Sandbox Code Playgroud)
我已经读过,我应该放在app.use(passport.initialize());和app.use(passport.session());之前app.use(app.router);,这就是我所做的.这是我注册中间件的express.js:
var express = require('express'),
mongoStore = require('connect-mongo')(express),
flash = require('connect-flash'),
helpers = require('view-helpers');
module.exports = function (app, config, passport) {
app.set('showStackError', true);
// should be placed before express.static
app.use(express.compress({ …Run Code Online (Sandbox Code Playgroud) 在参加今年的Google Code Jam 竞赛之后,我不禁注意到使用C/C++和Java的[成功]参赛者人数众多.在这里可以看到整个比赛中使用的语言分布.
在用C/C++编程好几年后,我最近因其可读/直接的性质而爱上了Python.最近,我学习了OCaml,Scheme等功能语言,甚至像Prolog这样的逻辑语言.这些语言当然有它们的优点,在我看来,在某些情况下,它可以比C++和Java更容易应用.例如,Scheme使用call/cc简化了回溯(回答几个问题所需的工具)和Prolog的逻辑规范,虽然由于其强力性质而效率低下,但可以极大地简化(甚至自动解决)某些难以解决的问题.包裹一个人的大脑.
很明显,竞赛选手应该使用最适合挑战的工具.即使是x86程序集也是图灵完成的 - 这并不能证明解决它的问题.在这种情况下,为什么使用不太常用的语言(如Scheme/Lisp,Prolog,甚至Python)的参赛者比使用C/C++和Java的参赛者要少得多?换句话说,为什么没有成功的参赛者使用的语言虽然可能不那么主流,但可以说是更好的工具?
我的问题有几个动机.最重要的是,我希望成为一名更好的程序员 - 无论是在实践方面还是在竞争方面.在介绍了诸如功能和逻辑编程之类的美妙范例之后,看到有这么多人抛弃它们而转向支持C/C++和Java是令人沮丧的.它甚至让我怀疑我对这些范例的钦佩,担心我不能在编程竞赛中成为Lisp/Scheme/Prolog程序员.
我正在执行一个使用Python请求库上传文件的简单任务.我搜索了Stack Overflow,似乎没有人遇到同样的问题,即服务器没有收到该文件:
import requests
url='http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post'
files={'files': open('file.txt','rb')}
values={'upload_file' : 'file.txt' , 'DB':'photcat' , 'OUT':'csv' , 'SHORT':'short'}
r=requests.post(url,files=files,data=values)
Run Code Online (Sandbox Code Playgroud)
我正在用我的文件名填充'upload_file'关键字的值,因为如果我把它留空,它会说
Error - You must select a file to upload!
Run Code Online (Sandbox Code Playgroud)
现在我明白了
File file.txt of size bytes is uploaded successfully!
Query service results: There were 0 lines.
Run Code Online (Sandbox Code Playgroud)
仅当文件为空时才会出现.所以我不知道如何成功发送我的文件.我知道该文件有效,因为如果我去这个网站并手动填写表格,它会返回一个很好的匹配对象列表,这就是我所追求的.我非常感谢所有提示.
其他一些线程相关(但没有回答我的问题):
我想比较2个iterables并打印出两个iterables中出现的项目.
>>> a = ('q', 'r')
>>> b = ('q')
# Iterate over a. If y not in b, print y.
# I want to see ['r'] printed.
>>> print([ y if y not in b for y in a])
^
Run Code Online (Sandbox Code Playgroud)
但是它给了我一个无效的语法错误^.这个lamba函数有什么问题?
$ supervisorctl reread
error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567
Run Code Online (Sandbox Code Playgroud)
我正在尝试在我的生产系统上配置主管,但是我遇到了这个错误.管理程序日志文件为空.
当我输入时supervisorctl,它会抱怨:
http://localhost:9001 refused connection
Run Code Online (Sandbox Code Playgroud)
目前没有任何东西正在侦听端口9001,AFACT:lsof | grep TCP什么都不返回.
我正在使用python(Django Framework)来读取CSV文件.如您所见,我只从这个CSV中拉出2行.我一直想做的是在变量中存储CSV的总行数.
如何获得总行数?
file = object.myfilePath
fileObject = csv.reader(file)
for i in range(2):
data.append(fileObject.next())
Run Code Online (Sandbox Code Playgroud)
我试过了:
len(fileObject)
fileObject.length
Run Code Online (Sandbox Code Playgroud) com.something.SuperClass:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class SuperClass implements Serializable {
private static final long serialVersionUID = -695503064509648117L;
long confirmationCode;
@Id
@GeneratedValue(strategy = GenerationType.AUTO) // Causes exception!!!
public long getConfirmationCode() {
return confirmationCode;
}
public void setConfirmationCode(long confirmationCode) {
this.confirmationCode = confirmationCode;
}
}
Run Code Online (Sandbox Code Playgroud)
com.something.SubClass:
@Entity
public abstract class Subclass extends SuperClass {
private static final long serialVersionUID = 8623159397061057722L;
String name;
@Column(nullable = false)
public String getName() {
return name;
}
public void setName(String name) {
this.name = …Run Code Online (Sandbox Code Playgroud) 我需要一个Java备忘单,并开始环顾四周,但找不到一个似乎"规范"的 - 这让我感到惊讶,考虑到语言有多广泛.有经验的Java程序员可以建议一个有用的备忘单(组织得很好,你经常使用它)和完整(涵盖真实世界的日常使用),请?
相比之下,这就是我认为Python的规范备忘单:http://rgruet.free.fr/PQR26/PQR2.6.html
它是完整的(语法,类型,语句,内置函数,通用模块,习语)和有用(组织良好:分段和超链接;易于搜索,易于探索).
此外,我已经查看了这里的列表:http://devcheatsheet.com/tag/java/并没有找到可与上面的RGruet的Python备忘单相媲美的备忘单.谷歌"Java作弊表"的最高列表是http://www.cs.princeton.edu/introcs/11cheatsheet/ ,这是相当完整的,但没有组织有用.那里必须有更好的东西!? 顺便说一句,它不需要适合1页. 我知道Java API文档,但这更像是我希望链接到的备忘单,而不是.
一些SO成员认为这个问题是主观的,但我认为我解释了我的标准是相当客观的:在这种情况下,完整性(内容)和有用性(表达)并不难判断.我已经接受了一个更有用的答案,但仍然感到惊讶的是Java没有规范的备忘单.
python ×4
algorithm ×2
count ×1
csv ×1
express ×1
file ×1
file-upload ×1
hibernate ×1
if-statement ×1
inheritance ×1
java ×1
jpa ×1
mongoose ×1
node.js ×1
passport.js ×1
sorting ×1
supervisord ×1