小编cho*_*him的帖子

如何在Python中实现二进制搜索树?

这是我到目前为止所得到的但它不起作用:

class Node:
    rChild,lChild,data = None,None,None

    def __init__(self,key):
        self.rChild = None
        self.lChild = None
        self.data = key

class Tree:
    root,size = None,0
    def __init__(self):
        self.root = None
        self.size = 0

    def insert(self,node,someNumber):
        if node is None:
            node = Node(someNumber)
        else:
            if node.data > someNumber:
                self.insert(node.rchild,someNumber)
            else:
                self.insert(node.rchild, someNumber)
        return

def main():
    t = Tree()
    t.root = Node(4)
    t.root.rchild = Node(5)
    print t.root.data #this works
    print t.root.rchild.data #this works too
    t = Tree()
    t.insert(t.root,4)
    t.insert(t.root,5)
    print t.root.data #this fails
    print t.root.rchild.data …
Run Code Online (Sandbox Code Playgroud)

python oop class binary-search-tree data-structures

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

使用Android的内置手势监听器和缩放监听器实现缩放和拖动

我正在尝试使用Android的手势监听器和缩放监听器来实现缩放和拖动.问题是,当我执行捏拉缩放时,图像(我正在尝试缩放)反弹到特定位置.变焦位置也不居中.以下代码演示了我想要实现的目标.知道为什么图像跳跃(以及如何纠正)?

public class CustomView extends View {
    Bitmap image;
    int screenHeight;
    int screenWidth;
    Paint paint;
    GestureDetector gestures;
    ScaleGestureDetector scaleGesture;
    float scale = 1.0f;
    float horizontalOffset, verticalOffset;

    int NORMAL = 0;
    int ZOOM = 1;
    int DRAG = 2;
    boolean isScaling = false;
    float touchX, touchY;
        int mode = NORMAL;

    public CustomView(Context context) {
    super(context);
            //initializing variables
    image = BitmapFactory.decodeResource(getResources(),
            R.drawable.image_name);
            //This is a full screen view
    screenWidth = getResources().getDisplayMetrics().widthPixels;
    screenHeight = getResources().getDisplayMetrics().heightPixels;
    paint = new Paint();
    paint.setAntiAlias(true);
    paint.setFilterBitmap(true);
    paint.setDither(true);
    paint.setColor(Color.WHITE); …
Run Code Online (Sandbox Code Playgroud)

android image-processing gesture-recognition android-view pinchzoom

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

从原始RGBA数据创建UIImage

我一直在尝试将数组RGBA数据(int字节)转换为UIImage.我的代码如下所示:

/*height and width are integers denoting the dimensions of the image*/
unsigned char *rawData = malloc(width*height*4);

for (int i=0; i<width*height; ++i) 
{
    rawData[4*i] = <red_val>;
    rawData[4*i+1] = <green_val>;
    rawData[4*i+2] = <blue_val>;
    rawData[4*i+3] = 255;
}


/*I Have the correct values displayed
    - ensuring the rawData is well populated*/

NSLog(@"(%i,%i,%i,%f)",rawData[0],rawData[1],rawData[2],rawData[3]/255.0f);
NSLog(@"(%i,%i,%i,%f)",rawData[4],rawData[5],rawData[6],rawData[7]/255.0f);
NSLog(@"(%i,%i,%i,%f)",rawData[8],rawData[9],rawData[10],rawData[11]/255.0f);



CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, 
                                                          rawData, 
                                                          width*height*4, 
                                                          NULL);

int bitsPerComponent = 8;
int bitsPerPixel = 32;
int bytesPerRow = 4*width;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault;
CGColorRenderingIntent …
Run Code Online (Sandbox Code Playgroud)

iphone image-processing uiimage

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

读取加密的压缩.obb文件

我有两个文件(例如),我想放在我的apk主扩展文件中.让这些文件是img1.jpgimg2.jpg.我使用以下命令压缩它们:

zip -n .jpg main.123.in.example.app.obb *.jpg
Run Code Online (Sandbox Code Playgroud)

(版本代码为123,包为in.example.app).这将创建一个obb文件:main.123.in.example.app.obb

我将此代码放在适当的路径上.我可以通过调用以下内容轻松访问文件img1.jpgimg2.jpg:

File root = Environment.getExternalStorageDirectory();
File expPath = new File(root.toString() + "/Android/obb/in.example.app");
String pathToObb = expPath + File.separator + "main.123.in.example.app.obb";
ZipResourceFile zip = new ZipResourceFile(pathToObb);
InputStream iStream = zip.getInputStream("img1.jpg");
Bitmap bmp = BitmapFactory.decodeStream(iStream, null, options);// options to decode
Run Code Online (Sandbox Code Playgroud)

这非常有效.现在,如何读取使用以下内容创建的加密zip文件:

zip -n -encrypt .jpg main.123.in.example.app.obb *.jpg
Run Code Online (Sandbox Code Playgroud)

有什么方法可以读取这样的加密zip文件吗?或者我们是否使用jobb工具进行加密并使用StorageManager来挂载加密的obb并从那里读取?

encryption android apk apk-expansion-files

5
推荐指数
0
解决办法
1657
查看次数

负载消除MQTT代理

是否可以对MQTT代理进行负载均衡?我可以使用ELB来平衡MQTT吗?这方面的任何指针都会有所帮助.我点击http://www.slideshare.net/kellogh/mqtt-kafka-33100776,但它没有多大帮助.

load-balancing mqtt amazon-elb

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

在Android中挂载加密的obb apk扩展文件

我使用jobb工具创建了一个加密的.obb文件.我使用以下代码来安装obb文件:

    public void mountExpansion() {
    final StorageManager storageManager  = (StorageManager) getContext()
        .getSystemService(Context.STORAGE_SERVICE);


    String packageName = "name.of.the.package";
    String filePath = Environment.getExternalStorageDirectory()
            + "/Android/obb/" + packageName + "/" + "main."
            + version + "." + packageName + ".obb";
    final File mainFile = new File(filePath);
    if (mainFile.exists()) {
        Log.d("STORAGE", "FILE: " + filePath + " Exists");
    } else {
        Log.d("STORAGE", "FILE: " + filePath + " DOESNT EXIST");
    }

    String key = "thisIsMyPassword";
    if (!storageManager.isObbMounted(mainFile.getAbsolutePath())) {
        if (mainFile.exists()) {
            if(storageManager.mountObb(mainFile.getAbsolutePath(), key,
                    new OnObbStateChangeListener() …
Run Code Online (Sandbox Code Playgroud)

encryption android apk-expansion-files

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

以特定频率并行发送电子邮件

我试图并行发送5封电子邮件.函数scheduleEmails将5个电子邮件地址列表的列表作为输入.我的代码如下所示:

import multiprocessing
import smtplib

def sendMail(email):
    #sends email using smtplib
    # returns True in case of success, False in case of failure

def scheduleEmails(emailLst):
    """
    emailLst is a list of list of 5 emails
    emailLst = [[emailAddr1,emailAddr2,emailAddr3...emailAddr5],
                [emailAddr6...emailAddr10],
                [emailAddr11... emailAddr[15],...]
    """
    FREQUENCY = 5 # no. of emails to be send per second
    for i in range(len(emailLst)):
            p = multiprocessing.Pool(FREQUENCY)
            emails = emailLst[i]
            results = p.map(sendEmail,emails)

 scheduleEmails(someEmailLst)
Run Code Online (Sandbox Code Playgroud)

代码运作良好但经过一段时间后,它就会挂起.你能指出错误或提出更好的方法来实现这个目标吗?

python multiprocessing

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

在SlidingTabStrip android中修复宽度

在Android提供的示例中,SlidingTabsBasic,是否可以使用相同宽度的标签?

user-interface android

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

CUDF 错误处理大量镶木地板文件

我在一个目录中有 2000 个镶木地板文件。每个镶木地板文件的大小大约为 20MB。使用的压缩是 SNAPPY。每个镶木地板文件都有如下所示的行:

+------------+-----------+-----------------+
| customerId | productId | randomAttribute |
+------------+-----------+-----------------+
| ID1        | PRODUCT1  | ATTRIBUTE1      |
| ID2        | PRODUCT2  | ATTRIBUTE2      |
| ID2        | PRODUCT3  | ATTRIBUTE3      |
+------------+-----------+-----------------+
Run Code Online (Sandbox Code Playgroud)

每个列条目都是一个字符串。我正在使用具有以下配置的 p3.8xlarge EC2 实例:

  • 内存:244GB
  • 虚拟 CPU:32
  • GPU RAM:64GB(每个GPU核心有16GB RAM)
  • GPU : 4 Tesla V100

我正在尝试以下代码:

+------------+-----------+-----------------+
| customerId | productId | randomAttribute |
+------------+-----------+-----------------+
| ID1        | PRODUCT1  | ATTRIBUTE1      |
| ID2        | PRODUCT2  | ATTRIBUTE2      |
| ID2 …
Run Code Online (Sandbox Code Playgroud)

python nvidia parquet dask cudf

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