简单滑动门技术实现

腾讯首页滑动门技术实现
相对来说,腾讯的滑动门技术应该是比较简单的,用到了CSS、DIV、Javascript和表格等技术。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
滑动窗口技术是一种常见的算法思想,其实现方式有很多种,以下是其中一种基本的实现方式: 假设我们要在一个字符串中寻找一个子串,找到所有子串后返回它们的起始位置。 1. 定义两个指针i和j,分别表示当前子串的起始位置和结束位置,初始值为0。 2. 将j向右移动,直到找到一个符合条件的子串。 3. 记录当前子串的起始位置i和结束位置j,并将i向右滑动一位,开始寻找下一个子串。 4. 重复第2步和第3步,直到j到达字符串的末尾。 以下是一段示例代码,演示了如何使用滑动窗口技术在一个字符串中查找所有的子串: ``` vector<int> findSubstring(string s, vector<string>& words) { vector<int> res; if (s.empty() || words.empty()) return res; unordered_map<string, int> dict; for (auto& word : words) dict[word]++; int n = s.size(), m = words.size(), len = words[0].size(); for (int i = 0; i <= n - m * len; i++) { unordered_map<string, int> seen; int j = 0; for (; j < m; j++) { string word = s.substr(i + j * len, len); if (!dict.count(word)) break; seen[word]++; if (seen[word] > dict[word]) break; } if (j == m) res.push_back(i); } return res; } ``` 这段代码使用了两个循环,其中外部循环的变量i表示当前子串的起始位置,内部循环的变量j表示当前子串的结束位置。使用一个unordered_map记录已经出现过的单词及其数量,如果出现了一个不在字典中的单词或者某个单词出现的次数超过了字典中的数量,则退出内部循环,否则将当前子串的起始位置记录到结果数组中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值