我正在使用 azure databricks 并尝试从此页面运行一些示例 python 代码:https ://spark.apache.org/docs/latest/ml-pipeline.html
并得到这个异常: py4j.security.Py4JSecurityException: Constructor public org.apache.spark.ml.classification.LogisticRegression(java.lang.String) 未列入白名单。
谢谢。立东
我想知道是否有更好的方法来初始化引用类型对象的数组,就像这样.
Queue<int>[] queues = new Queue<int>[10];
for (int i = 0; i < queues.Length; i++)
queues[i] = new Queue<int>();
Run Code Online (Sandbox Code Playgroud)
我尝试了Enumerable.Repeat,但是数组中的所有元素都引用了同一个实例,
Queue<int>[] queues = Enumerable.Repeat(new Queue<int>(), 10).ToArray();
Run Code Online (Sandbox Code Playgroud)
我也尝试了Array.ForEach,但没有ref关键字它不起作用:
Queue<int>[] queues = Array.ForEach(queues, queue => queue = new Queue<int>());
Run Code Online (Sandbox Code Playgroud)
还有其他想法吗?
请注意,它不需要真正计算Levenshtein编辑距离.只是检查它是否为1.
方法的签名可能如下所示:
bool Is1EditDistance(string s1, string s2).
Run Code Online (Sandbox Code Playgroud)
例如:1."abc"和"ab"返回true 2."abc"和"aebc"返回true 3."abc"和"a"返回false.
我试过递归批准,但它效率不高.
更新:得到了朋友的回答:
for (int i = 0; i < s1.Length && i < s2.Length; i++)
{
if (s1[i] != s2[i])
{
return s1.Substring(i + 1) == s2.Substring(i + 1) //case of change
|| s1.Substring(i + 1) == s2.Substring(i) //case of s1 has extra
|| s1.Substring(i) == s2.Substring(i + 1); //case of s2 has extra
}
}
return Math.Abs(s1.Length - s2.Length) == 1;
Run Code Online (Sandbox Code Playgroud)