There can be multiple ways of grouping in a k-map. For example, in your first example, you could also do it this way:

1100

1001

1001

1100

plus

1100

1001

1001

1100

plus

1100

1001

1001

1100

I doubt you can do it more efficiently than this.

As for your second example, couldn't you do a negation? That is, do the negation of

0111

0111

0111

0111

If you did that, that would be equivalent, via boolean algebra, to the following:

0111

0111

0111

0111

plus

0111

0111

0111

0111

Make sense?