小编dev*_*des的帖子

数据结构更快的contains()操作?

在这个问题中,我解析输入(整数)并同时检查它是否存在于数据结构中,如果没有则再添加它.

输入是 - 由大小> = 1且<= 1000000的空格分隔的2个整数

我尝试使用HashMap,TreeMap(put()containsValue()方法) - 但似乎他们花了太多时间.(10个测试用例中有5个超过了时间限制)

使用时ArrayList(add()和contains()方法) - (10个测试用例中有4个超过了时间限制)

这些操作将在第二个for循环内执行,在if条件内.

迭代可能如下变化: -

第1循环 - 1到10

第二个循环 - 1到100000

所以我想在第二个循环中的高阶迭代它超过了时间限制.

有没有其他方法可以在较短的时间内完成此任务.

问题:

一个和尚遇到了N个池塘,在每个池塘都找到了一个食物项目(输入1)和一个口袋妖怪(输入2).

如果类型匹配,僧侣可以将第i个池塘的物品喂给池塘的口袋妖怪.在离开之前,和尚可能不得不随身携带一些食物,以便喂养所有的小宠物.帮助他找到他必须携带的物品数量,以便能够安全地穿过这片土地.

说明

在First Pond,他获得了type1的项目并将其提供给type1的Pokemon.

在Second Pond,他获得了类型2的项目并将其提供给类型2的口袋妖怪.

在Third Pond,他获得了类型3的项目,但是口袋妖怪属于type4.因此,他必须随身携带4型食品.

在第四池,他得到了类型4的物品.他已经有一个3型物品并将它喂给口袋妖怪.

在第五池塘,他得到了2型物品.他已经有了4型物品并将它喂给了这个池塘的口袋妖怪

class TestClass {
public static void main(String args[] ) throws Exception {

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    int T = Integer.parseInt(br.readLine());
    if(T<=10 && T>=1)   {
    for (int i = 0; i < T; …
Run Code Online (Sandbox Code Playgroud)

java contains time-complexity data-structures

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

当应用程序在后台运行时,不会触发地理围栏通知

我已经完成了许多SO职位,但是对我来说还没有任何工作。我试图在设备进入地理围栏时触发通知。但它不会触发,直到打开应用程序。当应用程序在背景中时如何触发通知?

地理围栏:

public class Geofencing implements ResultCallback {

    // Constants
    public static final String TAG = Geofencing.class.getSimpleName();
    private static final float GEOFENCE_RADIUS = 50; // 50 meters
    private static final long GEOFENCE_TIMEOUT = 24 * 60 * 60 * 1000; // 24 hours

    private List<Geofence> mGeofenceList;
    private PendingIntent mGeofencePendingIntent;
    private GoogleApiClient mGoogleApiClient;
    private Context mContext;

    public Geofencing(Context context, GoogleApiClient client) {
        mContext = context;
        mGoogleApiClient = client;
        mGeofencePendingIntent = null;
        mGeofenceList = new ArrayList<>();
    }

    /***
     * Registers the list …
Run Code Online (Sandbox Code Playgroud)

notifications android android-geofence

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

使用 JPA 和 Rest API 进行 Java 序列化

正如我们在 java 中所知,这里使用Serialization引用博客

将对象的状态转换为字节流,该字节流可以持久保存到磁盘/文件中或通过网络发送到任何其他正在运行的 Java 虚拟机。

  • REST API 案例:

现在考虑第二种情况,通过网络发送到另一个正在运行的 jvm ,如果我们考虑Rest API的示例,即“主机:端口/路径/资源”。

通常我使用 Spring@RequestMapping将资源模型 pojo 类返回为ResponseEntity. 我没有在Serializable模型类中实现接口,一切正常,我得到了 json 中的 API 响应。

ModelX.java

public class ModelX {

    private int x = 2 ;
    private String xs = "stringx";

    // getters and setters

}
Run Code Online (Sandbox Code Playgroud)

控制器方法

@RequestMapping(value = "/test",method=RequestMethod.POST)
public ResponseEntity<ModelX> getTestModel(@RequestBody ModelX mox){

    ModelX mx = new ModelX();
    mx.setX(mox.getX());
    mx.setXs(mox.getXs());

    return new ResponseEntity<ModelX>(mx, HttpStatus.OK) ; …
Run Code Online (Sandbox Code Playgroud)

java serialization jpa

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

JPA(orphanRemoval = true)实施

我一直在阅读有关orphanRemoval= trueJPA 的帖子。根据文件:

orphanRemoval 是一个标志 -

是否将删除操作应用于已从关系中删除的实体,并将删除操作级联到这些实体。

我还参考了这篇文章以获取更多信息,其中他们尝试将子实体(地址 - 在他们的示例中)设置为空。

我目前了解,制作orphanRemoval= true将执行类似的操作cascade=CascadeType.REMOVE如果我删除父实体,它也会删除子实体。

我想测试的是它带来的附加功能,即删除父实体未引用的实体。

我正在尝试创建一个类似的场景,其中我将新的电话集合设置new ArrayList<>()为父实体为 Person

以下是我的实体类。

人.java

@Entity
@Table(name = "person")
@Data
public class Person {

    @Id
    int pd ;
    String fname;
    String lname;

    @OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,mappedBy="person",orphanRemoval=true)
    List<Phone> phones = new ArrayList<>() ;

    public boolean addPhone(Phone phone) {
        boolean added = this.phones.add(phone);
        phone.setPerson(this);
        return added;
    }
}
Run Code Online (Sandbox Code Playgroud)

电话.java

@Entity
@Table(name = "phone")
@Data
public class Phone { …
Run Code Online (Sandbox Code Playgroud)

java collections hibernate jpa hibernate-mapping

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

java.lang.IllegalArgumentException:在 MongoDB 中执行聚合的引用无效

我收集了一个文档:

{
    "_id": ObjectId("5ab273ed31fa764560a912f8"),
    "hourNumber": 21,
    "errorSegments": [{
        "agentName": "agentX"
    },
    {
        "agentName": "agentY"
    }]
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试在 Spring Boot 中执行以下聚合函数,我想在其中检索与代理匹配的特定小时的“errorSegments”,该代理在 mongo shell 中工作正常:

工作外壳:

db.errorsegment.aggregate([{
    "$match": {
        "hourNumber": 21,
        "errorSegments.agentName": "agentX"
    }
},
{
    "$project": {
        "errorSegments": {
            "$filter": {
                "input": "$errorSegments",
                "as": "e",
                "cond": {
                    "$eq": ["$$e.agentName",
                    "agentX"]
                }
            }
        }
    }
},
{
    "$unwind": "$errorSegments"
},
{
    "$replaceRoot": {
        "newRoot": "$errorSegments"
    }
}])
Run Code Online (Sandbox Code Playgroud)

所以它只提供输出,这是期望的结果:

{ "agentName" : "agentX" }
Run Code Online (Sandbox Code Playgroud)

但是我在 spring 中的以下代码给出了错误:

MatchOperation match = Aggregation.match(Criteria.where("hourNumber").is(21).and("errorSegments.agentName").is("agentX"));

        ProjectionOperation project …
Run Code Online (Sandbox Code Playgroud)

java spring mongodb aggregation-framework

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

在android中从URL加载Bitmap到ImageView

我使用以下方法从URL检索位图并将其传递给imageview,但imageview没有更新.

 public static Bitmap LoadImageFromWebOperations(String url) {
    Bitmap bitmap;
    try {
        InputStream is = new URL(url).openStream();
       bitmap = BitmapFactory.decodeStream(is);
        return bitmap;
    } catch (Exception e) {
         return null;
    }
Run Code Online (Sandbox Code Playgroud)

电话 -

  mov1_poster.setImageBitmap(VPmovies.LoadImageFromWebOperations(mov_details[0][7]));
//doesn't work

  Toast.makeText(this,"url is \n"+mov_details[0][7],Toast.LENGTH_LONG).show();
   // shows the url of the image successfully (just to check the url is not null)
Run Code Online (Sandbox Code Playgroud)

我有什么问题吗?请帮忙.

url android bitmap bitmapfactory

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