若函数 $f(x)=a x^2-2 x-\left|x^2-a x+1\right|$ 有且仅有两个零点,则 $a$ 的取值范围为_______.
答案 $(-\infty,0)\cup(0,1)\cup(1,+\infty)$.
解析 根据题意,有函数\[\begin{split} f(x)&=\min\{ax^2-2x-(x^2-ax+1),ax^2-2x+(x^2-ax+1)\}\\ &=\min\{(a-1)x^2+(a-2)x-1,(a+1)x^2-(a+2)x+1\}\\ &=\min\{\big((a-1)x-1\big)\big(x+1\big),\big((a+1)x-1\big)\big(x-1\big),\end{split}\]
容易验证当 $a=-1,1$ 的情形,此时 $a=1$ 不符合题意,$a=-1$ 符合题意.
当 $a\notin \{-1,1\}$ 时,记 $x_1=\dfrac{1}{a-1}$,$x_2=-1$,$x_3=\dfrac{1}{a+1}$,$x_4=1$,有\[f(x_1)=\min\left\{0,-\dfrac{2(a-2)}{(a-1)^2}\right\},\quad f(x_2)=\min\left\{0,2(a+2)\right\},\quad f(x_3)=\min\left\{\dfrac{-2(a+2)}{a+1},0\right\},\quad f(x_4)=\min\left\{2(a-2),0\right\},\]因此 $x_1,x_4$ 中恰有一个为函数 $f(x)$ 的零点,设为 $\alpha$,($a=2$ 时,$x_1=x_4$);$x_2,x_3$ 中恰有一个为函数 $f(x)$ 的零点,设为 $\beta$($a=-2$ 时,$x_2=x_3$);而 $\alpha=\beta$ 等价于 $a=0$,因此 $a\ne 0$.当 $\alpha\ne\beta$ 时,函数 $f(x)$ 恰有 $2$ 个零点,符合题意.
综上所述,$ a $ 的取值范围是 $(-\infty,0)\cup(0,1)\cup(1,+\infty)$.
请问这题有更加一般的做法吗(比如把-2x改为-x