小编Pen*_*One的帖子

IBOutlets,实例变量和属性:最佳实践

关于声明IBOutlets和实例变量,管理它们,使用正确的访问器并正确释放它们,我今天已经完成了各种关于最佳实践的研究.我几乎就在那里,但我有一些利基问题,我希望有人能够建议最好的做法.我将它们格式化为代码并对问题进行评论,以便更容易理解.我已经排除了一些我认为不相关的明显部分,可以安全地假设它们起作用(比如预处理器的东西,@ end,所需的实现方法等).

MyViewController.h

@class OtherViewController;

@interface MyViewController : UIViewController {

     NSString *_myString;
     BOOL _myBOOL;

}

// The first two properties aren't declared in the interface
// above as per best practices when compiling with LLVM 2.0

@property (nonatomic, retain) OtherViewController *otherViewController;
@property (nonatomic, retain) UIButton *myButton;
@property (nonatomic, copy) NSString *myString;
@property (readwrite) BOOL myBOOL;
Run Code Online (Sandbox Code Playgroud)

MyViewController.m

@implementation MyViewController

// Synthesizing IBOutlets on iOS will cause them to be
// retained when they are created by the nib

@synthesize otherViewController;
@synthesize …
Run Code Online (Sandbox Code Playgroud)

memory properties objective-c ios

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

notepad ++如何索引文件以更快地搜索?

我想知道Notepad ++是否有插件或其他东西来索引文件,以便更快地进行搜索.

我有一个非常大的项目,我等待10分钟在代码库中进行一次搜索.

知道什么对我有帮助吗?谢谢

search notepad++

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

寻找不平衡的括号和括号

gcc 4.6.0 GNU Emacs 23.2.1

我有一些c代码,在某些时候我必须犯错误.现在我留下了不平衡的卷曲的支架或括号.

我有大约2000行代码,我只是想知道有没有找到它们的技术?

Emacs有一些很好的功能,所以我只是想知道它是否有任何方法可以扫描代码并告诉我它们在哪里.目前我有一个与此相关的编译错误.

非常感谢任何建议,

c emacs

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

数组:最大可能的数字

给定一个元素数组,找到可以通过使用数组元素形成的最大可能数.
例如:10 9
ans:910
2 3 5 78
ans:78532
100 9
ans:9100

我知道这个问题有一个使用自定义字符串比较器的解决方案,但我不明白它是如何工作的.

    #include <iostream>
    #include <string>
    #include <algorithm>
    #include <vector>

    using namespace std;


    bool compare ( string a, string b )  
    {  
            return atoi( (a+b).c_str() ) < atoi((b+a).c_str() );  
    }

    int main()  
    {  
            vector<string> vs;  
            string s;  
            while ( cin >> s ) {  
                    vs.push_back(s);  
            }  
            sort( vs.begin(), vs.end(), compare );  
            for ( int i = vs.size()-1; i >= 0; i-- ) {  
                    cout << vs[i];  
            }  
    }   
Run Code Online (Sandbox Code Playgroud)

谁能提出算法来解决这个问题?将理解上述比较器的说明.谢谢

c++ arrays algorithm

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

"挑选数字游戏"的算法

我很难找到解决办法,但我不知道.

RobotA和RobotB选择N个数字的排列开始.RobotA首先选择,他们交替选择.每转一圈,机器人只能从排列中挑选任何一个剩余的数字.当剩余数字形成递增序列时,游戏结束.选择最后一个回合的机器人(之后序列变得越来越大)赢得了游戏.

假设两者都发挥得最好,谁赢了?

例1:

 The original sequence is 1 7 3. 
 RobotA wins by picking 7, after which the sequence is increasing 1 3.
Run Code Online (Sandbox Code Playgroud)

例2:

 The original sequence is 8 5 3 1 2.
 RobotB wins by selecting the 2, preventing any increasing sequence.
Run Code Online (Sandbox Code Playgroud)

有没有已知的算法来解决这个问题?请给我任何关于在哪里看的提示或想法,真的很感激!

puzzle algorithm permutation

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

在实数列表中查找最大间隔总和

这是一位同事要求编程职位的面试问题.我认为这对于观看受访者的思考非常有用.我很想得到SO社区如何看待它的回应.

给定长度为N的实数列表,比如[a_1, a_2, ..., a_N],找到存在索引1 <= i <= j <= N的最大值M的复杂度是多少

a_i + a_{i+1} + ... + a_j = M

如果这是一个典型的CS问题我很抱歉.

algorithm math complexity-theory

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

有没有一种从GLn子集中采样的快速方法?

这个问题的规则是相当具体的,因为我实际上在查看 GLn 的子集,其中行和列向量必须具有某种形式(称这些向量有效 - 下面的例子),所以请耐心等待.以下是规则:

  1. 您可以随机均匀地选择长度为n的有效非零向量.

  2. 给定有效向量v1, v2, ..., vk,您可以[v1_1 v2_1 ... vk_1]使用该函数确定它们形成的部分列是否是有效向量的前缀(例如,是否作为有效向量的前k个条目出现)isPrefix.

  3. 给定有效矢量v1,v2,...,vk,您可以使用该函数确定它们是否线性相关areIndependent.

目标是随机均匀地从这个GLn子集中进行采样.这是一个天真的解决方案失败:

    Step 1: Select a valid v1 uniformly at random. 
            If isPrefix(v1) then Go to Step 2.
            Otherwise repeat Step 1.

    Step 2: Select a valid v2 uniformly at random. 
            If areIndependent(v1,v2) & isPrefix(v1,v2), then go to Step 3. 
            Otherwise, repeat Step 2.

    ...

    Step n: Select a valid vn uniformly at random. 
            If areIndependent(v1,v2,...,vn) …
Run Code Online (Sandbox Code Playgroud)

algorithm uniform sampling

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

在Matlab中创建和操作三维矩阵

我拼命想避免for在Matlab中使用循环,但我无法弄清楚如何做到这一点.情况如下:

我有两个m x n矩阵AB两个向量vw长度d.我想要外部乘法A,v以便我得到一个m x n x d矩阵,其中的(i,j,k)条目是A_(i,j) * v_k,并且类似于Bw.

之后,我想添加生成的m x n x d矩阵,然后mean沿最后一个维度返回m x n矩阵.

我很确定我可以处理后一部分,但第一部分让我完全卡住了.我尝试使用bsxfun无济于事.有人知道这样做的有效方法吗?非常感谢!

编辑:此修订发布在以下三个伟大的答案之后.毫无疑问,gnovice对我提出的问题有最好的答案.但是,我打算提出的问题涉及在取平均值之前对每个条目进行平方.我最初忘了提这个部分.鉴于这种烦恼,其他两个答案都运作良好,但在编码之前进行代数的聪明伎俩并没有帮助.感谢大家的帮助!

matlab matrix-multiplication bsxfun

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

从头开始创建一个简单的GUI

在没有真正可用库的平台上,以及除了"坐标(x,y)上的维度(x,y,xx,yy)的显示对象"之外的最小图形,我正在尝试创建一个简单的gui.

有人可以指点我参考,我可以理解在屏幕上显示一组对象所涉及的逻辑原理,并突出显示所选对象,允许用户在对象之间导航并将突出显示移动到每个对象.这似乎应该很简单,但我想了解人们如何看待这一点.

如何使用像obj.highlight()这样的方法创建一个对象,其中obj.highlight会关闭所有其他对象中的突出显示?是否只需通过一个对象数组进行下一个循环,跳过当前对象,关闭突出显示然后将当前对象设置为true?通过在透明中心的所选对象上绘制另一个对象来完成高亮显示.

这是一个单线程系统(但允许少量的异步处理).

我正在寻找更多的概念性想法,但VB中没有使用专有图形调用的代码可能会有用.

algorithm conceptual-model

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

Image的RGB颜色平均值

我想在php中获得Image的RGB颜色的平均值.

通过gd lib我编程

    $x = imagesx($im);
    $y = imagesy($im);
    for ($i = 0;$i < $x;$i++)
        for ($j = 0;$j < $y;$j++){
            $rgb = imagecolorat($im,$i,$j);
            $sum['R'] += ($rgb >> 16) & 0xFF;
            $sum['G'] += ($rgb >> 8) & 0xFF;
            $sum['B'] += $rgb & 0xFF; 
        }
Run Code Online (Sandbox Code Playgroud)

但这并不是我想的好方法.它需要大量的ram来处理.还有另一种方法吗?

php gd image-processing

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