我想在运行时确定我的应用程序启动的类名,带有main()方法的类名,但我在另一个线程中,我的堆栈跟踪不会一直回到原始类.
我搜索了系统属性以及ClassLoader提供的所有内容,并且没有提供任何内容.这些信息不可用吗?
谢谢.
我有一组与一组标签有多对多关系的城市.用户给了我一组标签(可能包含重复项!),我需要返回一个匹配条目列表,按相关性排序.
以下是一些示例数据来说明问题:
城市:
--------------------
| id | city |
--------------------
| 1 | Atlanta |
| 2 | Baltimore |
| 3 | Cleveland |
| 4 | Denver |
| 5 | Eugene |
--------------------
Run Code Online (Sandbox Code Playgroud)
标签:
------
| id |
------
| 1 |
| 2 |
| 3 |
| 4 |
------
Run Code Online (Sandbox Code Playgroud)
城市标记如下:
Atlanta: 1, 2
Baltimore: 3
Cleveland: 1, 3, 4
Denver: 2, 3
Eugene: 1, 4
Run Code Online (Sandbox Code Playgroud)
...所以CityTags表看起来像:
------------------------
| city_id | tag_id …Run Code Online (Sandbox Code Playgroud) 我想要做的是将一个字符串从一个"字母"转换为另一个,就像在基数之间转换数字,但更抽象和任意数字.
例如,将"255"从字母"0123456789"转换为字母"0123456789ABCDEF"将导致"FF".一种方法是将输入字符串转换为整数,然后再将其转换回来.像这样:(伪代码)
int decode(string input, string alphabet) {
int value = 0;
for(i = 0; i < input.length; i++) {
int index = alphabet.indexOf(input[i]);
value += index * pow(alphabet.length, input.length - i - 1);
}
return value;
}
string encode(int value, string alphabet) {
string encoded = "";
while(value > 0) {
int index = value % alphabet.length;
encoded = alphabet[index] + encoded;
value = floor(value / alphabet.length);
}
return encoded;
}
Run Code Online (Sandbox Code Playgroud)
这样decode("255", "0123456789")返回整数255,并encode(255, "0123456789ABCDEF")返回"FF" …
从真实世界的例子开始可能会有所帮助.假设我正在编写一个由MongoDB支持的Web应用程序,因此我的记录有一个长的十六进制主键,使我的url可以查看记录/widget/55c460d8e2d6e59da89d08d0.这似乎过长了.网址可以使用更多字符.虽然24位十六进制数字中只有under 8 x 10^28(16^24)可能的值,但仅限于由[a-zA-Z0-9]正则表达式类匹配的字符(YouTube视频ID使用更多),62个字符,您8 x 10^28只能以17个字符过去.
我想要一种算法,它将任何限制为特定字符字符串的字符串转换为具有另一个字符字符串的任何其他字符串,其中每个字符的值c可以被认为是alphabet.indexOf(c).
形式的东西:
convert(value, sourceAlphabet, destinationAlphabet)
Run Code Online (Sandbox Code Playgroud)
value存在于sourceAlphabetsourceAlphabet,并destinationAlphabet是唯一var hex = "0123456789abcdef";
var base10 = "0123456789";
var result = convert("12245589", base10, hex); // result is "bada55";
Run Code Online (Sandbox Code Playgroud)
但我也希望它能够将War&Peace从俄语字母加上一些标点符号转换为整个unicode charset并再次无损地返回.
我曾经被教过在Comp Sci 101中进行基本转换的唯一方法是首先通过求和转换为十进制整数digit * base^position,然后反向转换为目标基数.这种方法不足以转换很长的字符串,因为整数变得太大.
这当然感觉直观,一个基本转换可能要做到位,当你通过串(可能向后,保持标准显著位顺序)步骤,跟踪余莫名其妙,但我没有足够的智慧来解决如何.
这就是你进来的地方,StackOverflow.你够聪明吗?
也许这是一个已解决的问题,由一些18世纪的数学家在纸上完成,1970年在LISP中实施了打卡,以及Cryptography 101中的第一个家庭作业,但我的搜索没有结果.
我更喜欢具有功能风格的javascript解决方案,但任何语言或风格都可以,只要你没有欺骗一些大整数库.当然,奖励点可以提高效率.
请不要批评原来的例子.解决问题的一般书呆子信誉比解决方案的任何应用更重要.
我从事的项目需要将redux-form升级为react-final-form。我只是想知道该任务是否有任何文档。
algorithm ×2
math ×2
base ×1
classloader ×1
compression ×1
cryptography ×1
ecmascript-6 ×1
encoding ×1
java ×1
postgresql ×1
reactjs ×1
runtime ×1
sql ×1
stack-trace ×1