问题列表 - 第23710页

如何从1到50有效地选择几个独特的随机数,不包括x?

我有2个数字这是0和49之间让我们给他们打电话xy.现在我想得到一些不是x或y的其他数字,但也介于0和之间49(我正在使用Objective C,但这更像是一个普遍的理论问题吗?).

我想到的方法是:

 int a;
 int b;
 int c;

 do {
  a = arc4random() % 49;
 } while ((a == x) || (a == y));

 do {
  b = arc4random() % 49;
 } while ((b == x) || (b == y) || (b == a));

 do {
  c = arc4random() % 49;
 } while ((c == x) || (c == y) || (c == a) || (c == b));
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎有点不好,我不知道,我只是想学习成为一名更好的程序员,最佳做法是什么才能做到这一点?

random objective-c

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

如何使用现有数据创建solr核心?

Solr 1.4 Enterprise Search Server建议对核心副本执行大型更新,然后将其交换为主核心.我遵循以下步骤:

  1. 创建准备核心:http:// localhost:8983/solr/admin/cores?action = CREATE&name = prep&instanceDir = main
  2. 执行索引更新,然后在准备核心上提交/优化.
  3. 交换main和prep核心:http:// localhost:8983/solr/admin/cores?action = SWAP&core = main&other = prep
  4. 卸载准备核心:http:// localhost:8983/solr/admin/cores?action = UNLOAD&core = prep

我遇到的问题是,在步骤1中创建的核心中没有任何数据.如果我要对所有东西和厨房水槽做一个完整的索引,那就没问题了,但如果我只是想更新一个(大)文件的子集 - 那显然不会起作用.

(我可以合并核心,但我正在尝试做的部分是删除任何已删除的文档,而不试图列出它们.)

我错过了CREATE动作的标志吗?CoreAdminSolr Wiki页面在细节上有点稀疏.

可能的解决方案:复制

solr-user上有人建议使用复制.要在这种情况下使用它(我的理解)需要以下步骤:

  1. 根据MAIN核心的配置创建一个新的PREP核心
  2. 将MAIN核心的配置更改为主服务器
  3. 将PREP核心的配置更改为从属
  4. 导致/等待同步?
  5. 将PREP核心的配置更改为不再是从属
  6. 执行索引更新,然后在PREP核心上提交/优化.
  7. 交换PREP和MAIN核心

更简单的基于复制的设置是配置永远是主设备的永久PREP核心.MAIN核心(根据需要在尽可能多的服务器上)可以成为PREP核心的从属.可以根据需要快速或慢速地在PREP核心上进行索引.

可能的解决方案:永久PREP核心和双重更新

我想出的另一个想法是这个(也涉及一个永久的PREP核心):

  1. 执行索引更新,然后在PREP核心上提交/优化.
  2. 交换PREP和MAIN核心.
  3. 重新执行索引更新,然后提交/优化现在的PREP核心.它现在具有与MAIN核心相同的数据(理论上)并且将会存在,为下一个索引操作做好准备.

solr

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

传递shared_ptr的成本

我在整个应用程序中广泛使用std :: tr1 :: shared_ptr.这包括在函数参数中传递对象.考虑以下:

class Dataset {...}

void f( shared_ptr< Dataset const > pds ) {...}
void g( shared_ptr< Dataset const > pds ) {...}
...
Run Code Online (Sandbox Code Playgroud)

虽然通过shared_ptr传递数据集对象可以保证它在f和g中的存在,但是这些函数可能会被调用数百万次,这会导致很多shared_ptr对象被创建和销毁.这是最近一次运行的平坦gprof配置文件的片段:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls   s/call   s/call  name
  9.74    295.39    35.12 2451177304     0.00     0.00  std::tr1::__shared_count::__shared_count(std::tr1::__shared_count const&)
  8.03    324.34    28.95 2451252116     0.00     0.00  std::tr1::__shared_count::~__shared_count()

因此,大约17%的运行时用于使用shared_ptr对象进行引用计数.这是正常的吗?

我的应用程序的很大一部分是单线程的,我正在考虑重写一些函数

void f( const Dataset& ds ) {...}
Run Code Online (Sandbox Code Playgroud)

并替换电话

shared_ptr< Dataset > pds( new Dataset(...) );
f( pds …
Run Code Online (Sandbox Code Playgroud)

c++ performance shared-ptr

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

使用反射比较对象属性

我有两个类Address和Employee如下:

 public class Address
{
    public string AddressLine1 { get; set; }
    public string AddressLine2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string Zip { get; set; }
}

   public class Employee
    {
        public string FirstName { get; set; }
        public string MiddleName { get; set; }
        public string LastName { get; set; }
        public Address EmployeeAddress { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我有两个员工实例如下:

    var emp1Address = new Address(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net reflection

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

PHP省略了一个返回

当回车符合关闭的php标签时,php不会打印它.

我怎么能改变这个?

非常感谢

php tags return

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

使用ThreadPool.QueueUserWorkItem - 线程意外退出

我有以下方法:

    public void PutFile(string ID, Stream content)
    {
        try
        {
            ThreadPool.QueueUserWorkItem(o => putFileWorker(ID, content));
        }

        catch (Exception ex)
        {
            OnPutFileError(this, new ExceptionEventArgs { Exception = ex });
        }
    }
Run Code Online (Sandbox Code Playgroud)

putFileWorker方法如下所示:

    private void putFileWorker(string ID, Stream content)
    {
        //Get bucket name:
        var bucketName = getBucketName(ID)
            .ToLower();

        //get file key
        var fileKey = getFileKey(ID);

        try
        {
            //if the bucket doesn't exist, create it
            if (!Amazon.S3.Util.AmazonS3Util.DoesS3BucketExist(bucketName, s3client))
                s3client.PutBucket(new PutBucketRequest { BucketName = bucketName, BucketRegion = S3Region.EU });

            PutObjectRequest request = new PutObjectRequest();
            request.WithBucketName(bucketName) …
Run Code Online (Sandbox Code Playgroud)

c# multithreading asynchronous

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

单击搜索按钮(Android)时阻止ProgressDialog被解雇

在长时间运行的操作中,我正在显示一个弹出对话框(从中ProgressDialog阻止其他操作发生).

我已经使它不可取消setCancelable(false),因此我无法使用后退按钮关闭它,但令人惊讶的是,搜索硬件按钮会取消对话框!

更确切地说,显示全局搜索应用程序,当我回到我的应用程序时,对话框已被解除.

知道如何防止对话被解雇吗?

android dialog progressdialog

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

参考值参数VS返回值哪一个好?

当我们想要修改一个对象中的某个值时,我们可能会使用两种不同的方法,只是想知道哪一个更好或者它们之间没有大的差别.

    1.
  

void SomeMethod()
   {
      UserInfo newUser = New UserInfo();
      ModifyUserInfo(newUser);
      //Modify UserInfo after calling void method GetUserInfo
   }




           void ModifyUserInfo(UseerInfo userInfo)
           {
               userInfo.UserName = "User Name";
               .....
           }
Run Code Online (Sandbox Code Playgroud)
    2.
  
    void SomeMethod()
       {
          UserInfo newUser = New UserInfo();
          //Assign new userinfo explicitly
          newUser = GetUserInfo(newUser);

       }


       UserInfo ModifyUserInfo(UseerInfo userInfo)
       {
           userInfo.UserName = "User Name";
           .....
           return userInfo;
       }
Run Code Online (Sandbox Code Playgroud)

c#

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

如何克服ggplot2中没有抖动或透明度的重叠点

我开始使用ggplot2.我有一些小的n(大约30左右)粒度数据,有很多重叠.抖动和alpha(透明度)都不合适.相反,带有堆栈和偏移的条形图最好,但我不知道如何在ggplot2中执行此操作.你知道吗?

要查看最终结果应该单击此图形.

这是我几年前使用的脚本.

stripchart(SystData$DayTo1Syst~SystData$strain,vertical=TRUE,method="stack",pch=19,offset=.3,xlab="Strain",main="Rapidity of Systemic Disease Onset",ylab="Days post inoculation")
Run Code Online (Sandbox Code Playgroud)

r overlap stripchart ggplot2

6
推荐指数
2
解决办法
6848
查看次数

是否有PHP函数来拉出两个字符之间的字符串?

是否有一个PHP函数可以在两个字符之间抓取字符串.例如,我想知道百分比和美元符号之间的区别:

%HERE $

这有什么作用?

php

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