题目:字典序排数
给定一个整数 n, 返回从 1 到 n 的字典顺序。
示例
给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。
请尽可能的优化算法的时间复杂度和空间复杂度。 输入的数据 n 小于等于 5,000,000。
使用语言JavaScript
/**
* @param {number} n
* @return {number[]}
*/
var lexicalOrder = function(n) {
var a = [];
for(let i =1;i<=n;i++){
a.push(i);
}
a.sort();
/*var b = a[11];
var c = b.toString();
var d = c[1];
console.log(b,c,d);*/
return a;
};
题目:Bigram 分词
给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 "first second third" 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。
对于每种这样的情况,将第三个词 "third" 添加到答案中,并返回答案。
示例
示例 1:
输入: text = "alice is a good girl she is a good student", first = "a", second = "good"
输出: ["girl","student"]
示例 2:
输入: text = "we will we will rock you", first = "we", second = "will"
输出: ["we","rock"]
提示:
1 <= text.length <= 1000text由一些用空格分隔的单词组成,每个单词都由小写英文字母组成1 <= first.length, second.length <= 10first和second由小写英文字母组成
使用语言JavaScript
/**
* @param {string} text
* @param {string} first
* @param {string} second
* @return {string[]}
*/
var findOcurrences = function(text, first, second) {
var a = text.split(" ");
var b = [];
for(var i=0;i<a.length-2;i++){
if(a[i]==first && a[i+1]==second){
b.push(a[i+2]);
}
}
return b;
};