三月的第一天从熬夜开始的,哭唧唧。
(1)Target sorting
Sort the given list of numbers a according to how far away each element is from the target value t. The result should return the list sorted in descending order of the absolute value of the difference between a(n) and t.
So if a = [1 2 4 8 17] and t = 12, then the output b should be [1 2 4 17 8].
计算a中每一个元素与t之间的距离,用abs求绝对值,防止负数的出现。之后用sort函数对距离绝对值进行排序,返回值中m为距离的排序,n为a数组的序号排序。将数组a按照n的排序顺序重新赋值给b,即可完成最后的结果。
答:
function b = targetSort(a,t)
[m,n]=sort(abs(a-t),'descend');
b=a(n);