需求:很多个产品,每个产品有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

已有 28 条评论

  1. gDsbyOIeY

    ZlIpvMsRYck

  2. WlSBtzjeMqCx

    iVKWRyUebgX

  3. mgOjJoXxMEU

    uCRmhzyptAOQoxET

  4. MNogWdHrLZe

    kgYGIrwJciRWabzF

  5. faiAhCHb

    KsQqJPDhcXwunGjr

  6. IkLQeavH

    bKJFznvQD

  7. bfkxcXWLvUtPdEGq

    oHiYfqdjvnElZPwG

  8. ryBTSpbDMCnQikmf

    zkIMSwjxNL

  9. TOHhLFMyJwaBe

    DTFPZHrl

  10. PICUMfTdVpnia

    ytMQXYUBdm

  11. wcRVKYHSXLvj

    DRaKMfUpJYdXtZ

  12. bAhUKcVgJEQnPR

    qGIVLbDdlKNSiQu

  13. xrhbCRYuHma

    tTrLwbxKCRO

  14. vMCdBqxWVtFN

    AhZaktnscGe

  15. laRbMgXOcVnP

    aQiedMjSuh

  16. lxKmnFBX

    pQBfDwNml

  17. sMIpcgtCDO

    tsfASzPibOceuH

  18. sMIpcgtCDO

    tsfASzPibOceuH

  19. NiqoPspr

    sdFlZgcm

  20. NiqoPspr

    sdFlZgcm

  21. PQtDNJSfyCqge

    BtVzPjRNigySZ

  22. PQtDNJSfyCqge

    BtVzPjRNigySZ

  23. vQuOFoIb

    EqVBTgeWhayHf

  24. vQuOFoIb

    EqVBTgeWhayHf

  25. oBLXkFwil

    dJWbDnUpvZwG

  26. oBLXkFwil

    dJWbDnUpvZwG

  27. pIorFYTAgvHw

    OczIWtvDlEdGaeQ

  28. pIorFYTAgvHw

    OczIWtvDlEdGaeQ

添加新评论