问题:
在2维平面上给出N个点.同一条直线上的最大点数是多少?
问题有O(N 2)解决方案:遍历每个点并找到dx / dy与当前点相关的点数.将dx / dy关系存储在哈希映射中以提高效率.
有没有比O(N 2)更好的解决这个问题的方法?
线性化和可串行化之间有什么区别(在Java的上下文中)?能否请您通过示例解释这些差异或提供一个好的参考?
我无法为我希望以受控方式提供敏感数据的应用授予"反向权限".
我的应用程序是一个时间跟踪器,因为时间跟踪日志可以被视为个人信息,我已经创建了访问它的权限并为其分配了android.permission-group.PERSONAL_INFO权限组.
要从手机导出时间日志,我添加了将日志作为电子邮件附件发送的功能.附件由受我新添加的权限保护的内容提供商生成.我发送电子邮件的代码如下所示:
String email = "someone@example.com";
Uri uri = TimeLog.CSVAttachment.CONTENT_URI;
Intent i = new Intent(Intent.ACTION_SEND, uri);
i.setType("text/csv");
i.putExtra(Intent.EXTRA_EMAIL, new String[]{email});
i.putExtra(Intent.EXTRA_SUBJECT, "Time log");
i.putExtra(Intent.EXTRA_TEXT, "Hello World!");
i.putExtra(Intent.EXTRA_STREAM, uri);
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
在我的HTC手机上运行时,我会在Gmail和HTC邮件之间进行弹出式选择.选择Gmail,我在Gmail应用中遇到以下异常:
ERROR/AndroidRuntime(8169): Caused by: java.lang.SecurityException:
Permission Denial: reading com.mycompany.timelog.TimeLog uri
content://com.mycompany.timelog/csv_attachment from pid=8169,
uid=10035 requires com.mycompany.timelog.permission.READ_TIME_LOG
Run Code Online (Sandbox Code Playgroud)
我确实android:grantUriPermissions="true"设置了我的提供商,但这没有帮助.我有一个关于为什么会这样的理论.我曾预计FLAG_GRANT_READ_URI_PERMISSION会授予Gmail访问我的内容提供商的权利,但我认为真正发生的是此权限授予com.android.internal.app.ResolverActivity,因为Intent和Android创建了多个匹配项用于向用户显示选择的包装器活动.
所以,我尝试将其硬编码到我的应用程序中仅用于测试:
grantUriPermission("com.google.android.gm", uri,
Intent.FLAG_GRANT_READ_URI_PERMISSION);
Run Code Online (Sandbox Code Playgroud)
这允许Gmail正确显示电子邮件,我可以按"发送".不幸的是,在GMail关闭后,我在com.google.process.gapps中遇到了这个例外:
ERROR/AndroidRuntime(7617):java.lang.SecurityException:Permission Denial:从pid = 7617读取com.mycompany.timelog.TimeLog uri内容://com.mycompany.timelog/csv_attachment,uid = 10011要求 com.mycompany.timelog.permission.READ_TIME_LOG
请注意,这来自不同的PID和UID.这是因为对openAssetFile的实际调用是从属于不同包的某个同步提供程序组件(com.google.android.googleapps?)发生的.
虽然我有一些希望最终找到一种方法来向我的ACTION_SEND意图的最终接收者授予权限,但是对openAssetFile的调用是从一些完全不同且实际上不相关的包发生的事实让我感到困惑的是权限授予应该如何工作.
所以最终我的问题是,鉴于日志是敏感数据,我如何允许它作为附件通过电子邮件发送,同时尊重用户的隐私(例如,不使附件世界可读)?
我有
Observablecollection<A> aRef = new Observablecollection<A>();
bRef = aRef();
Run Code Online (Sandbox Code Playgroud)
在这种情况下,两者都指向相同ObservableCollection...如何制作不同的副本?
我在项目中使用eclipse.
当我想安装或更新插件时,计算依赖关系(大约5到10分钟)非常慢,然后下载文件并安装它们很快.
你知道怎么解决这个问题吗?
它在Ubuntu 10.04上有最新补丁+ eclipse 3.6.1
没有代理使用.我注意到家里有几台电脑的问题,但是我在工作中没有这个问题(我在工作时使用代理)
使用Qt 4.7在C++中有Q_OBSOLETE或Q_DEPRECATED吗?
或者是否有类似的C++宏或关键字?
请考虑以下代码段:
...
int N,var;
vector<int> nums;
cin >> N;
while (N--)
{
cin >> var;
nums.push_back(var);
}
...
Run Code Online (Sandbox Code Playgroud)
在这种情况下,是否可以在不使用辅助变量的情况下执行此操作var?
我试图逐行读取文本文件并单独处理每个字符.
例如,我的文本文件中的一行可能如下所示:
ABC XXXX XXXXXXXX ABC
行中总会有不同的空格.但是相同数量的字符(包括空格).
这就是我到目前为止......
char currentLine[100];
fgets(currentLine, 22, inputFile);
Run Code Online (Sandbox Code Playgroud)
然后我试图遍历currentLine数组并使用每个字符......
for (j = 0; j<22; j++) {
if (¤tLine[j] == 'x') {
// character is an x... do something
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?
你可能会说 - 我刚刚开始使用C.
我想知道在设计论坛时是否有任何练习.我想设计一些论坛.是的,至少有两种不同类型的论坛.一个是选择性成员,另一个是对任何公共成员开放.
在论坛中,成员可以发起一个线程,然后其他成员可以响应它.
所以我对这类论坛的结构有这个粗略的想法.
我将论坛表命名为'strings'表.这是我能想到的结构,
str_id for the auto increment id
str_tilte for title of the thread
str_content for content/ text of the thread
str_follow for you to choose whether you want to follow this thread or not
str_approved for the admin to approve or reject the thread
parent_id*1
mem_id member id who initiates the thread or who responds to the op
cat_id*2
str_created
str_updated
Run Code Online (Sandbox Code Playgroud)
*1例如.如果数据注入是一个操作线程,那么父id本身,如果注入是对op的响应,则其父id是op的str_id.
*2此列用于存储当前数据注入的类别ID.如果注射是一个选择性论坛,那么它是1,如果注射是公共论坛那么它是2.
不确定我是否处于最佳状态,但如果您有任何更好的想法,请告诉我.
谢谢.
编辑:
感谢您使用phpbb的一些回复和建议.
刚看了一眼,下载了phpbb.101%肯定我不会去追求它.它是一个完整的程序,如Wordpress或任何其他PHP框架(如Zend).我有一个独立的框架运行这个网站,所以我不想运行另一个程序/框架来搞乱网站的后端结构等.
如果我的网站只是一个纯粹的论坛网站,那么也许我会考虑phpbb.但论坛只是我当前项目中整体网站的子功能.
谢谢.
:)
我有一个常规的文本框:
<input type="text">
Run Code Online (Sandbox Code Playgroud)
我使用jQuery来处理与键相关的事件:
$("input:text").keydown(function() {
// keydown code
}).keypress(function() {
// keypress code
}).keyup(function() {
// keyup code
});
Run Code Online (Sandbox Code Playgroud)
用户专注于文本框并按下键盘上的各种键(通常的键:字母,数字,SHIFT,BACKSPACE,SPACE,......).我需要检测用户何时按下将增加文本框值长度的键.例如,"A"键会增加它,"SHIFT"键不会.
我记得看过PPK的讲座,他提到了这两者之间的区别.它与事件有关 - keydown与keypress - 可能还有事件属性 - key,char,keyCode.
更新!
我需要在keydown或keypress处理程序中知道这些信息.我不能等待keyup事件发生.
为什么我需要这个:
我有一个文本框,其大小根据用户输入动态变化.你可以看看这个演示:http://vidasp.net/tinydemos/variable-size-text-box.html
在演示中,我有一个keydown和keyup处理程序.keyup处理程序根据输入值调整文本框大小.但是,keydown处理程序将大小设置为比输入值大1个字符.我这样做的原因是,如果我没有,那么角色将溢出文本框外,只有当用户放开键时,文本框才会展开.这看起来很奇怪.这就是我必须预测新角色的原因 - 在文字框中出现角色之前,我会在每个keydown上放大文本框.正如您在演示中看到的,这种方法看起来很棒.
然而,问题是BACKSPACE和ARROW键 - 它们还将扩展keydown上的文本框,并且只有在keyup上才会更正文本框大小.
解决方法:
解决方法是手动检测BACKSPACE,SHIFT和ARROW键,并根据:
// keydown handler
function(e) {
var len = $(this).val().length;
if (e.keyCode === 37 || e.keyCode === 39 ||
e.keyCode === 16) { // ARROW LEFT or ARROW RIGHT or SHIFT key
return;
} else if (e.keyCode === …Run Code Online (Sandbox Code Playgroud)