1345 有效快递序列数目

题目:

给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。
每一步,你可以从下标 i 跳到下标 i + 1 、i - 1 或者 j :

  • i + 1 需满足:i + 1 < arr.length
  • i - 1 需满足:i - 1 >= 0
  • j 需满足:arr[i] == arr[j] 且 i != j
    请你返回到达数组最后一个元素的下标处所需的 最少操作次数 。
    注意: 任何时候你都不能跳到数组外面。

示例 :

输入:arr = [100,-23,-23,404,100,23,23,23,3,404]
输出:3
解释:那你需要跳跃 3 次,下标依次为 0 --> 4 --> 3 --> 9 。下标 9 为数组的最后一个元素的下标。

思路

代码:

class Solution {public:int minJumps(vector<int>& w) {unordered_map<int, vector<int>> hash;  //存储每个数值的下标编号int n = w.size(), INF = 1e9;for (int i = 0; i < n; i ++)hash[w[i]].push_back(i);  //vector<int> dist(n, INF);  //每个点初始距离queue<int> q;dist[0] = 0;q.push(0);while (q.size()) {auto t = q.front();q.pop();for (int i = t - 1; i <= t + 1; i += 2) {if (i >= 0 && i < n && dist[i] > dist[t] + 1) {dist[i] = dist[t] + 1;q.push(i);}}//扩展同值得节点int val = w[t];if (hash.count(val)) {for (int i : hash[val]) {  //扩展该权值所有出现的位置if (dist[i] > dist[t] + 1) {  //dist[i]可更新dist[i] = dist[t] + 1;q.push(i);}}hash.erase(val);}}return dist[n - 1];  //}
};

1371 每个元音包含偶数次的最长子字符串

题目:

给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。

示例 :

输入:s = "eleetminicoworoep"
输出:13
解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。

思路

代码:

class Solution {public:int findTheLongestSubstring(string s) {vector<int> cnt(32, -2);  //2^5=32个状态,每个最靠前的下标string str = "aeiou";cnt[0] = -1;int res = 0, state = 0;for (int i = 0; i < s.size(); i ++) {int k  = str.find(s[i]);  //找一下s[i]的下标if (k != -1) state ^= 1 << k;  //当前字母出现过进行异或操作if (cnt[state] != -2) res = max(res, i - cnt[state]);  //当前状态之前出现过else cnt[state] = i;  //当前状态之前没出现过}return res;}
};

充电站
推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

LeetCode 1345、1371相关推荐

  1. Leetcode 208、实现Trie(前缀树)

    Leetcode 208.实现Trie(前缀树) 使用数组实现前缀树 insert() 向前缀树里面插入字符串 遍历当前要插入的字符串,查看当前数组对应的位置是否为空 如果为空,temp[curr] ...

  2. 二分法变种小结(leetcode 34、leetcode33、leetcode 81、leetcode 153、leetcode 74)

    目录 二分法细节 1.leetcode 34 在排序数组中查找元素的第一个和最后一个位置 2.不完全有序下的二分查找(leetcode33. 搜索旋转排序数组) 3.含重复元素的不完全有序下的二分查找 ...

  3. 树(2)-----leetcode(层、深度、节点)

    1.树的类实现: class TreeNode(object):def __init__(self, x):self.val = xself.left = Noneself.right = None ...

  4. LeetCode 387、字符串中的第一个唯一字符

    387.字符串中的第一个唯一字符 1)题目描述 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 .如果不存在,则返回 -1 . 示例 1: 输入: s = "leetco ...

  5. leetcode 10、Regular Expression Matching

    本题大意: 给你一个字符串s, 以一个模式串p,而模式串中规则匹配的只有 '.' 和 '*',其中 '.' 代表匹配任意一个字符,'*' 代表匹配的前一个字符有0个或多个,求字符串s和模式串p是否匹配 ...

  6. leetcode 1345. Jump Game IV | 1345. 跳跃游戏 IV(BFS)

    题目 https://leetcode.com/problems/jump-game-iv/ 题解 好久没做 hard 了,今天时间多,挑战一下.用 lqy 同学的话说,这题叫做 "苦难题& ...

  7. LeetCode 二叉树、N叉树的最大深度与最小深度(递归解)

    目录 104. 二叉树的最大深度 559. N叉树的最大深度 111. 二叉树的最小深度 之前的笔记中,已经用层序遍历解决过这个问题了 现在试着用深度的解法去求解 104. 二叉树的最大深度 给定一个 ...

  8. LeetCode:409、最长回文串

    409.最长回文串 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 先记录每个字符出现的次数: 然后除2在乘2:奇数次则会取最大偶数次:偶数次则不变: 然后判断是否存在奇数次的字符:若存在且 ...

  9. LeetCode 2248、多个数组求交集

    2248.多个数组求交集 1)题目描述 给你一个二维整数数组 nums ,其中 nums[i] 是由 不同 正整数组成的一个非空数组,按 升序排列 返回一个数组,数组中的每个元素在 nums 所有数组 ...

最新文章

  1. jane street information session on pythonandocaml
  2. python中时间操作总结
  3. ubuntu终端切换快捷键
  4. 关于LayoutParams
  5. Activiti 接收任务活动
  6. 快速找到thtmlbUtil的定义位置
  7. VS中lib和dll
  8. flask + 蓝图 用 sqlalchemy 对 mysql 进行 增删查改 的 demo
  9. 关于建立 Carbon Forum 后 设置访问链接的问题
  10. 全面使用禅道做敏捷开发的规范化管理分享
  11. DIV的摇晃效果---jquery实现
  12. solaris 10 bash配置
  13. ISO20000/ISO27001认证区别和证书展示
  14. 本地 Git 文件夹显示绿色标识
  15. 关于soundfile写音频是报错raise RuntimeError(prefix + _ffi.string(err_str).decode(‘utf-8‘, ‘replace‘))
  16. 微信技术总监:一亿用户背后的架构秘密
  17. crontab 每天凌晨12点定时器_Linux下使用crontab实现mysql数据库自动备份
  18. 暗黑破坏神(DIABLOII 1.11B)BOT下载
  19. centos 7 查看oracle,Centos7下oracle配置(详细)
  20. websocket重连机制

热门文章

  1. 在Linux上安装蓝牙驱动
  2. 6-4 二叉树 - 12. 分枝结点数分数 10
  3. 会呼吸的雾化芯,思格雷将撼动国内电子烟市场
  4. android 安卓APP获取手机设备信息和手机号码的代码示例
  5. mac 系统office软件
  6. VisionPro文档 -- 在单个作业里的多相机采集
  7. 北大青鸟汉字注释机内码_北大青鸟11SF主机调试软件里面的,汉字注释,联动逻辑,总线对应,191层显注释,291层显注释...
  8. J2EE基础之集合框架set
  9. 小朱笔记之hadoop应用实战、源码分析-目录
  10. 【转载】viewState详解