5199. 交换字符串中的元素


5199. 交换字符串中的元素

给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。

你可以 任意多次交换 在 pairs 中任意一对索引处的字符。

返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。
原文


700. 二叉搜索树中的搜索


给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。

例如,

给定二叉搜索树:

        4
       / \
      2   7
     / \
    1   3

和值: 2
你应该返回如下子树:

      2     
     / \   
    1   3

在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。



701. 二叉搜索树中的插入操作


给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。

注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。

例如, 

给定二叉搜索树:

    4
   / \
  2   7
 / \
1   3

和 插入的值: 5
你可以返回这个二叉搜索树:

     4
   /   \
  2     7
 / \   /
1   3 5

或者这个树也是有效的:

     5
   /   \
  2     7
 / \   
1   3
     \
      4


记一次redis并发问题


记一次redis并发处理问题

一、场景分析

所在的公司是物联网公司,涉及到向设备发送指令,现在的问题是在和天猫语音对接的一个产品线上出现了一个bug

启用组合指令模式,例如一个情景模式,1、开卧室灯、2开走廊灯、3开客厅灯

  • 上面的三个灯对于我们的产品来说就是一个开关面板,面板上面是一个三路开关,也就是每一个灯对应一个开关,如下图:

image

当天猫精灵一条控制指令发送过来,我在将指令发送给设备,流程图如下

image