有更快的方法吗?
Set data = ws.UsedRange
Set unique = CreateObject("Scripting.Dictionary")
On Error Resume Next
For x = 1 To data.Rows.Count
unique.Add data(x, some_column_number).Value, 1
Next x
On Error GoTo 0
Run Code Online (Sandbox Code Playgroud)
在这一点上unique.keys
获得了我需要的东西,但是对于拥有成千上万条记录的文件来说,循环本身似乎非常慢(而在Python或C++这样的语言中,这根本不是问题).
考虑这个功能
template<class T> inline bool cx(T &a, T b) {return a < b ? a = b, 1 : 0;}
Run Code Online (Sandbox Code Playgroud)
任何人都能解释这究竟是做什么的吗?它似乎与典型的condition ? true : false
格式不同.
只是为了好玩而读这本书,这不是功课.
但是我对第一个主要任务感到困惑:
1-1运行时间比较
对于下表中的每个函数f(n)和时间t,确定可以在时间t中求解的问题的最大尺寸n,假设解决问题的算法花费f(n)微秒.
这甚至意味着什么?
下一个表显示沿一个轴(1秒,1分钟,1小时等)的一堆时间,另一个轴显示不同的f(n),例如lg n,sqrt(n),n等.
我不知道如何填写矩阵,因为我无法理解这个问题.因此,如果f(n)= lg n,则询问可以求解的最大n,例如1秒,但问题需要f(n)= lg n微秒才能解决?这最后一部分甚至意味着什么?我甚至不知道如何设置方程/比率来解决这个问题,因为我甚至无法将问题的含义放在一起.
我的挂断在句子"假设解决问题的算法需要f(n)微秒",因为我不知道这是指什么.该时间什么解决算法有什么问题需要F(N)微秒?所以如果我调用f(100)它将需要lg 100微秒?所以我需要找到一些n,其中f(n)= lg n微秒= 1秒?
当lg n微秒= 10 ^ 6微秒时,这是否意味着lg n微秒= 1秒,所以n = 2 ^(10 ^ 6)?
我很沮丧.
在CLRS第3版,第95页(第4.5章)中,它提到了像
T(n) = 2T(n/2) + n lg n
无法用大师定理解决因为差异
f(n)/n^(log_b(a)) = (n lg n)/n^1 = lg n
不是多项式.
但后来我遇到喜欢的网页这样这个地方,在页面的底部,它提到的完全一样的复发和说,它是能够与主定理,因为它属于一种"扩展的情况下2"来解决,即使不同的是非多项式.它变为n lg^2 n
(将对数因子f(n)
加1).
然后,我遇到类似的网页这其中,例如,在(E)好像扩展案例2(复发是明确的应用T(n) = 4T(n/2) + n^2 lg n
),但随后的解决方案是不是n^2 log^2 n
,而是n^2 log n
!我错了还是纸张错了?
任何人都可以清理矛盾,并清楚地说明何时可以使用主定理,何时不能使用?什么时候多项式差异检查很重要,什么时候不重要?扩展案例2是否可用,或实际上是否违反了某些内容?
编辑:
我尝试直接从第二篇论文解决复发(e),我得到:
T(n) = n^2 lg^2(n)/2 + n^2 lg(n)/2
这不是大the n^2 lg^2 n
?
algorithm big-o asymptotic-complexity master-theorem polynomials
我很难让Realm工作.
RealmConfiguration realmConfig = new RealmConfiguration.Builder(this).build();
Realm.setDefaultConfiguration(realmConfig);
Realm realm = Realm.getDefaultInstance();
MyObjectExtendingRealmObject myObject = new MyObjectExtendingRealmObject("John");
realm.beginTransaction();
realm.copyToRealm(myObject);
realm.commitTransaction();
Run Code Online (Sandbox Code Playgroud)
错误:java.lang.IllegalStateException:只能从事务内部更改Realm数据
叫我疯了,但不是我在交易中做数据持久性,这究竟是如何在文档中完成的?请参阅copyToRealm
此处使用的示例:https://realm.io/docs/java/latest/#creating-objects
我究竟做错了什么?
编辑:什么,Realm不支持自动增加主键ID?对我来说是违规的.我会留下这个问题,以防它帮助其他人.
编辑:我的班级
public class MyObjectExtendingRealmObject extends RealmObject {
private String name;
public MyObjectExtendingRealmObject() {
}
public MyObjectExtendingRealmObject(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Run Code Online (Sandbox Code Playgroud) 我决定为Android制作我的最低API版本21,但这是否意味着再也不使用AppCompat了?只需使用普通的Material Design /没有AppCompat/etc?
我有一段代码,我只想在第一次调用特定的OnCreate()方法时运行(每个应用程序会话),而不是每次创建活动时.有没有办法在Android中执行此操作?
我在我的资源文件夹中包含了几个预先制作的.png文件,但只有其中一些文件没有错误:
AssetManager assetManager = context.getAssets();
Inputstream in = assetManager.open(assetName);
Run Code Online (Sandbox Code Playgroud)
这里assetName
是一个String
包含类似"myPic.png".
它似乎适用于某些文件,但对于其他文件,它会抛出,java.io.FileNotFoundException: myPic.png
即使我在Assets文件夹中看到它与许多其他似乎正在削减的文件一起.
我试图基本上在VBA中做相当于这个:
myArray.apend((field1, field2, field3))
Run Code Online (Sandbox Code Playgroud)
(使用Python语法)
所以数组/列表的每个元素都有三个元素.这可以在VBA中完成吗?
我希望能够显示Snackbars,但我对这个概念感到困惑,我必须提供一个View.您认为它允许您默认在屏幕底部显示Snackbar,但也许我遗漏了一些东西.
无论如何,这可以通过使用视图来完成:
findViewById(android.R.id.content)
但是我得到一个警告,即使它似乎总是在我尝试的任何地方都可以使用,但这可能是空的.什么时候可能是null?
我有一个返回列表的函数,调用它f n
.
如果我打印列表,它看起来像[1,2,3,4]
我希望它看起来像1 2 3 4
.
此外,我想在一定范围内输出许多列表n
,所以f 1
在第一行,f 2
在第二行,... f n
在第n行.
我的f n
功能正在运行,但无法让输出在我的生活中工作.
目前的尝试:
main = do
n <- readLn :: IO Int
mapM_ putStrLn [f i | i <- [1..n]]
Run Code Online (Sandbox Code Playgroud) 我有一个列表 L 并想从中随机返回 n 个项目的列表。
现在我依赖 itertools.combinations,然后随机选择一个,但我必须等待一段时间,直到列表看起来没有在列表开头附近粘有很多项目,所以它并不是真的“随机的。”