- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在将 key 中的字母转换为它们在行换位密码中的字母顺序时遇到了一些问题。
例如,如果我们将单词“fruit”作为键,它应该转换为以下数字序列:“6(f) 18(r ) 21(u) 9(i) 20(t)"
我设法使用这个函数实现了这一点:
function filterKey(key) {
var result = [];
for (var i = 0; i < key.length; i++) {
var c = key.charCodeAt(i);
result.push((c - 65) % 32);
}
return result;
}
我的问题是:如何将上述数字序列转换为列号?
像这样:"6(f) 18(r) 21(u) 9(i) 20(t)" --> "1(f) 3(r) 5(u) 2(i) 4(t)”
最佳答案
我不知道你是想在函数内还是在返回结果之后执行此操作。
无论哪种方式,以下内容都可以完成工作:
var key = "fruit";
var result = key.split("").map(function(x) {return (x.charCodeAt(0) - 65) % 32}); // (one-liner for your function)
var sorted = result.slice(0).sort(function(a, b) {return a - b});
var columnNumbers = result.map(function(x) {
var index = sorted.indexOf(x);
sorted[index] = 0; // reset value in case of duplicate chars
return index + 1;
});
console.log(columnNumbers);
请注意,这是为了处理键中的重复字母而设计的。
例如 "froot"
将输出 [1, 4, 2, 3, 5]
关于JavaScript Row Transposition Cipher - 如何将键转换为列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52755955/
最近我不得不编写以下函数: mToL :: Maybe [a] -> [Maybe a] mToL Nothing = [] mToL (Just xs) = map Just xs 这就引出了一个问
我想将 Pandas Series 转换为转置 Dataframe,其中键/值的数量是动态的。然后,转置的 Dataframe 也必须具有动态的列数。 我成功使用了 to_frame() 和 to_t
我在将 key 中的字母转换为它们在行换位密码中的字母顺序时遇到了一些问题。 例如,如果我们将单词“fruit”作为键,它应该转换为以下数字序列:“6(f) 18(r ) 21(u) 9(i) 20(
我把“chunk transposition”放在引号里是因为我不知道这个技术术语应该是什么。只要知道该过程是否有一个技术术语就会非常有帮助。 Wikipedia article on edit di
我有以下代码: template using Arr = Array; template using Arr2 = Array; template Arr2 reshape (const Arr
我在 C++ 中实现了 Damerau–Levenshtein 距离,但它没有为输入(pantera,主动脉)提供正确的 o/p,正确的 o/p 是 4,但我的代码给出了 5...... int e
我是一名优秀的程序员,十分优秀!