小编C.A*_*C.A的帖子

迭代clojure映射对(循环)

我有一系列像这样的地图对(目前大约17000对)

(def myseq '({:name "Peter" :rank 2222} {:name "Anna" :rank 111}))
Run Code Online (Sandbox Code Playgroud)

我想用特定的对将特定的对过滤成新的序列

(filter (fn [x] (> x 222)) (:rank (first myseq)))
Run Code Online (Sandbox Code Playgroud)

我一直试图像这样迭代循环,但继续线程死亡.此外,如果我在单个地图集合上使用过滤器,它只返回一个新序列,不确定我是否需要在这里创建一个?

(defn remove-lower [number myseq]
    (loop [i 0]
        (if (= i (count file))
            (println "done")
            (filter [x] (> x number))
                (:rank (first myseq))))
    (recur (rest myseq))))
Run Code Online (Sandbox Code Playgroud)

Finnally正在循环以获得新的对序列的最有效方式?

最好,J

dictionary loops clojure

7
推荐指数
2
解决办法
3657
查看次数

Spark DataFrame按列将列值聚合到List中

我有一个DataFrame看起来像这样:

+-----------------+-------+
|Id               | value |
+-----------------+-------+
|             1622| 139685|
|             1622| 182118|
|             1622| 127955|
|             3837|3224815|
|             1622| 727761|
|             1622| 155875|
|             3837|1504923|
|             1622| 139684|
+-----------------+-------+
Run Code Online (Sandbox Code Playgroud)

我想把它变成:

    +-----------------+-------------------------------------------+
    |Id               | value                                     |
    +-----------------+-------------------------------------------+
    |             1622|139685,182118,127955,727761,155875,139684  |
    |             3837|3224815,1504923                            |
    +-----------------+-------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

DataFrame只能用于功能,还是需要将其转换为RDD

dataframe apache-spark apache-spark-sql

7
推荐指数
1
解决办法
3580
查看次数

从Java中的Json字符串中删除重复项?

我有一个重复值的Json字符串:

String json = "{\"Sign_In_Type\":\"Action\",\"Sign_In_Type\":\"Action\"}";

在我尝试创建JSONObject时正确抛出异常:


   try {
            JSONObject json_obj = new JSONObject(json);
            String type = json_obj.getString("Sign_In_Type");
        } catch (JSONException e) {
            throw new RuntimeException(e);
        }

错误:

Exception in thread "main" java.lang.RuntimeException: org.json.JSONException: Duplicate key "Sign_In_Type"
    at com.campanja.app.Upload.main(Upload.java:52)
Caused by: org.json.JSONException: Duplicate key "Sign_In_Type"
    at org.json.JSONObject.putOnce(JSONObject.java:1076)
    at org.json.JSONObject.(JSONObject.java:205)
    at org.json.JSONObject.(JSONObject.java:402)
    at com.campanja.app.Upload.main(Upload.java:49)

在将其转换为JSONOBject之前,是否有一种智能方法可以删除或检查重复项?我试图创建:

 Set set = new HashSet(Arrays.asList(json));

但这给了我:

[{"Sign_In_Type":"Action","Sign_In_Type":"Action"}]

欢迎任何建议,谢谢!

java json duplicate-removal

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

Grails 3.0.1和Hibernate Session错误

我正在关注基于Grails 2的书籍示例(Grails in Action 2nd Edition),但我使用的是新的Grails 3.0.1.

当我创建一个看起来像这样的域类:

package qotd

class Quote {
   String content
   String author
   Date created = new Date()
}
Run Code Online (Sandbox Code Playgroud)

每当我尝试通过groovy控制台与DB交互时,我都会抛出异常.

org.springframework.dao.DataAccessResourceFailureException: Could not obtain current Hibernate Session;
Caused by: org.hibernate.HibernateException: No Session found for current thread
Run Code Online (Sandbox Code Playgroud)

我试图将@Transactional添加到域类中,并且还切换到较低的JDK版本(7),但它们都不起作用.我也用Grails 3.0测试过,结果是一样的.如果我降级到Grails 2.5.0它的工作原理是Grails 3.*问题.Gradle可能是个问题.

grails grails-orm

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

最大单卖利润算法的最优解

输入数组是:

A[0] = 23171 
A[1] = 21015 
A[2] = 21123
A[3] = 21366 
A[4] = 21013 
A[5] = 21367
Run Code Online (Sandbox Code Playgroud)

使命是找到最大的利润.例如A [3] - A [2] = 243,我的代码是:

class Solution {
    int profit = 0;
    public int solution(int[] A) {
         for (int i = 0;i < A.length; i++){
            for (int j = i + 1; j < A.length; j++){
                if(A[j] - A[i] > profit)
                    profit = A[j] - A[i];
            }
         }
         return profit;
   }
}
Run Code Online (Sandbox Code Playgroud)

结果假设是365,但它会在更大的输入上爆炸.该代码的时间复杂度为O(N 2),但可能与O(N)有关.我无法真正看到如何避免在这里筑巢......任何正确方向的指针都会受到赞赏.

java algorithm nested-loops

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