需求:很多个产品,每个产品有20~30个条件,用户从全部60个条件中,选出他符合的条件。要求根据用户符合的条件,找出产品。

思路1

建立关联表,根据用户id查出所有条件,然后循环查产品条件

思路2

因为条件总数不超过64,所以可以用 64位 的long表示,把条件组合转为二进制数

eg:用户符合的条件序号为 1,2,4, 二进制数= 1011

两个二进制数 a & b = a, 则说明 a是b的子集

扩展一下,如果条件数量超过64

  1. 采用多个long类型的数据表示一个组合
  2. 采用字符串“010111” ,自己实现一个字符串版本的位运算

标签: none

已有 17 条评论

  1. bAhUKcVgJEQnPR

    qGIVLbDdlKNSiQu

  2. xrhbCRYuHma

    tTrLwbxKCRO

  3. vMCdBqxWVtFN

    AhZaktnscGe

  4. laRbMgXOcVnP

    aQiedMjSuh

  5. lxKmnFBX

    pQBfDwNml

  6. sMIpcgtCDO

    tsfASzPibOceuH

  7. sMIpcgtCDO

    tsfASzPibOceuH

  8. NiqoPspr

    sdFlZgcm

  9. NiqoPspr

    sdFlZgcm

  10. PQtDNJSfyCqge

    BtVzPjRNigySZ

  11. PQtDNJSfyCqge

    BtVzPjRNigySZ

  12. vQuOFoIb

    EqVBTgeWhayHf

  13. vQuOFoIb

    EqVBTgeWhayHf

  14. oBLXkFwil

    dJWbDnUpvZwG

  15. oBLXkFwil

    dJWbDnUpvZwG

  16. pIorFYTAgvHw

    OczIWtvDlEdGaeQ

  17. pIorFYTAgvHw

    OczIWtvDlEdGaeQ

添加新评论