Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
- data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
- sub = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
- Count[Partition[data, 2, 1], Alternatives @@ sub]
- 10
- Count[Partition[data, 2, 1], #] & /@ sub
- {2, 3, 3, 2}
- Length[ReplaceList[data, {___, ##, ___} :> {}]] & @@@ sub
- {2, 3, 3, 2}
- Length[ReplaceList[data, {___, ##, ___} :> {}]] & @@@ {{1, 2, 1}, {1}}
- {2, 6}
- data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
- pat = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
- ts = ToString @ Row[#, ","] &;
- StringCount[ts@data, ts /@ pat, Overlaps -> True]
- 10
- With[{ds = ts@data},
- StringCount[ds, ts@#, Overlaps -> True] & /@ pat
- ]
- {2, 3, 3, 2}
- StringCases[ts@data, ts@# -> # & /@ pat, Overlaps -> True] // Tally
- {{{1, 1}, 2}, {{1, 2}, 3}, {{2, 1}, 3}, {{2, 2}, 2}}
- data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
- sub = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
- Total@Boole@
- ListCorrelate[#, data, {1, -1}, "paddingUselessHere", Equal, And] & /@ sub
- {2, 3, 3, 2}
- Total@Boole@ListCorrelate[{1, 2, 1}, data, {1, -1}, "paddingUselessHere", Equal, And]
- ListCorrelate[{p1, p2}, {a, b, c, d}, {1, -1}, "whatever", f, g]
- data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
- targ = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
- Join@@(Last@Reap[Sow[1, #] & /@ (w @@@ Partition[data, 2, 1]),
- w @@@ targ, #1 /. w[a__] -> List[a] -> Total@#2 &])
- (* {{1, 1} -> 2, {1, 2} -> 3, {2, 1} -> 3, {2, 2} -> 2}*)
- data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
- pat = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
- SequenceCount[data, #, Overlaps -> True] & /@ pat
- Thread[pat -> %]
- {2, 3, 3, 2}
- {{1, 1} -> 2, {1, 2} -> 3, {2, 1} -> 3, {2, 2} -> 2}
- ClearAll[inSub]
- inSub[lst_][x__] /; MemberQ[lst, {x}] := {x}
- inSub[_][__] := Sequence[]
- Length @ Partition[data, 2, 1, 1, {}, inSub[sub]]
- Length @ Partition[data, 2, 1, 1, {}, inSub[Most @ Rest @ sub]]
Add Comment
Please, Sign In to add comment