问题列表 - 第21163页

如何在python中有效地获取列表中k个更大的元素

什么是最有效,优雅和pythonic解决这个问题的方法?

给定n个元素的列表(或集合或其他),我们希望得到k个最大元素.(你可以假设k<n/2不失一般性,我猜)例如,如果列表是:

l = [9,1,6,4,2,8,3,7,5]
Run Code Online (Sandbox Code Playgroud)

n = 9,让我们说k = 3.检索3个最大的算法最有效的算法是什么?在这种情况下,我们应该[9,8,7]没有特别的顺序.

谢谢!曼努埃尔

python sorting algorithm performance

27
推荐指数
3
解决办法
1万
查看次数

我应该经常调用EntityManager.clear()来避免内存泄漏吗?

我是JPA/OpenJPA的新手,我注意到如果我EntityManager.clear()在持久化实体之后不调用,我会得到一个OutOfMemoryError(我继续在循环中添加新实体).我不确定这是否是预期的行为,或者只是OpenJPA 1.2.1故障.

那么,我是否需要自己明确分离实体?如果我不是,那么这是一个很好的做法?

java memory-leaks jpa entitymanager openjpa

8
推荐指数
2
解决办法
2万
查看次数

撤消Eclipse中的关闭选项卡?

我想知道Eclipse PDT中是否有可能错误地重新打开关闭的选项卡.

例如在Firefox中,我可以做Ctrl+ Shift+ T.

eclipse keyboard-shortcuts eclipse-pdt

103
推荐指数
3
解决办法
2万
查看次数

检查路径是否在网络上

在我的应用程序中,我有一个对话框,用户可以在其中选择数据库备份位置.
我想警告用户他/她选择的位置是"可能不安全".

我想考虑下列安全地点:

  1. 当选定的文件夹在网络上时
    (通过映射的驱动器(I:\Backup)或UNC表示法(\\server2\backup))
  2. 所选文件夹与数据库文件夹位于不同的物理磁盘上时

如何获得有关所选文件夹的此类信息?
我知道这个DriveInfo类,但它只处理驱动器号,而不是UNC路径.

.net c# vb.net

8
推荐指数
2
解决办法
9215
查看次数

我们是否应该删除在TDD期间过于简单而无法破解的测试

我一直在努力坚持TDD方法.所以我做了一些测试,但都失败了.现在我正在实施.但是现在我正在实现我已经看到这些方法太简单而不能失败.特别是我实现了观察者模式,所有发生的事情是我通知所有注册的观察者.因此,对每个循环使用a并调用notify.这当然听起来太简单了.既然我在某些地方进行了测试,我应该删除它们吗?这似乎也有点浪费时间.那么我应该尝试预测一些过于简单的方法吗?

tdd unit-testing design-patterns

6
推荐指数
1
解决办法
455
查看次数

如何在SQL Server 2005/2008中清除查询执行统计信息

基于使用从这篇文章获得的这个非常有用的SQL获取查询执行统计信息最常执行的存储过程 - 堆栈溢出:

SELECT TOP 100
   qt.TEXT AS 'SP Name',
   SUBSTRING(qt.text, qs.statement_start_offset/2, CASE WHEN (qs.statement_end_offset = -1) THEN LEN(qt.text) ELSE (qs.statement_end_offset - qs.statement_start_offset)/2 END) AS actual_query,
   qs.execution_count AS 'Execution Count',
   qs.total_worker_time/qs.execution_count AS 'AvgWorkerTime',
   qs.total_worker_time AS 'TotalWorkerTime',
   qs.total_physical_reads AS 'PhysicalReads',
   qs.creation_time 'CreationTime',
   qs.execution_count/DATEDIFF(Second, qs.creation_time, GETDATE()) AS 'Calls/Second'
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE qt.dbid = (SELECT dbid
                FROM sys.sysdatabases
               WHERE name = 'BSP')
ORDER BY qs.total_worker_time/qs.execution_count DESC
Run Code Online (Sandbox Code Playgroud)

我如何完全清除这些执行统计信息并从头开始?

这将特别有用,因为开发错误和测试已经导致例程被调用通常很多次,从而无视真实的使用级别.

sql sql-server statistics performance sql-execution-plan

28
推荐指数
1
解决办法
3万
查看次数

在构建后事件期间确定程序集版本

假设我想创建一个随每个版本一起提供的静态文本文件.我希望使用版本的版本号(如中所述AssemblyInfo.cs)更新文件,但我不想手动执行此操作.

我希望我可以使用post-build事件并将版本号提供给批处理文件,如下所示:

call foo.bat $(AssemblyVersion)
Run Code Online (Sandbox Code Playgroud)

但是我找不到任何合适的变量或宏来使用.

有没有办法实现这一点,我错过了?

.net c# deployment visual-studio-2005 visual-studio

53
推荐指数
5
解决办法
3万
查看次数

有没有办法选择:<p>的第一个字?

我们选择p:first-letter哪个?我知道没有被叫的属性,p:first-word但是如果用户知道任何其他方式.

我不想在HTML中添加任何内容.

css jquery

4
推荐指数
1
解决办法
4578
查看次数

是否可以在前台运行devenv.exe?

我需要使用CAB Project构建解决方案.
据我所知,我应该使用devenv.exe来构建CAB.
以下命令行在后台启动devenv.exe:
devenv.exe MyActiveX.sln/Rebuild"Release"

是否可以在前台运行devenv.exe?
我想在stdout中获取不在文件中的构建跟踪.

.net build-process visual-studio-2008 devenv

2
推荐指数
1
解决办法
1107
查看次数

如何在.net实体框架中插入或更新多个表

这似乎应该是非常明显的,但实体框架的一些东西让我感到困惑,我无法让它工作.

很简单,我有三个表,Id值是标识列:Users(userId,username)Categories(categoryId,categoryName)JoinTable(UserId,CategoryId)composite.

在实体设计器(这是.net 4.0)中,当我导入这些表时,正如预期的那样,连接表不会出现,但用户和类别显示关系.以下代码:

var _context = new MyContext();
var myUser = new User();
myUser.UserName = "joe";

var myCategory = new Category();
myCategory.CategoryName = "friends";

_context.Users.AddObject(myUser);  
myUser.Categories.Add(myCategory);

var saved = _context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

返回错误(尽管没有添加到数据库中):

An item with the same key has already been added.
Run Code Online (Sandbox Code Playgroud)

如果我在保存之前添加以下内容:

_context.Categories.AddObject(myCategory);
myCategory.Users.Add(myUser);
Run Code Online (Sandbox Code Playgroud)

我得到相同的错误,并没有保存到数据库.如果我在尝试关联它们之前保存myUser和myCategory对象,它们都会保存,但是第二次保存会抛出错误,而没有添加到连接表中:

Cannot insert the value NULL into column 'UserId', table '...dbo.JoinTable'; column does not  allow nulls. INSERT fails. The statement has been terminated.
Run Code Online (Sandbox Code Playgroud)

我显然无法理解插入了多少个关系.我错过了什么?

many-to-many entity-framework insert entity-framework-4

5
推荐指数
1
解决办法
5944
查看次数