我在php中有数组
$a = array(1,2,3,4,5);
当我用条件数组值= 6回显$ a时,它会显示 1 + 5和2 + 4
答案 0 :(得分:0)
有点不好描述,但我想我明白了。
这将循环$ a并找到创建总和的内容 它会对数组进行切片,以确保它不会在最后获得相同的匹配。 (1 + 5& 5 + 1)。
final SerialDetailSendData sendData = new SerialDetailSendData();
sendData.setSeriesID(serialID);
InterfaceApi api = ApiClient.getClient().create(InterfaceApi.class);
Call<SeriesDetailResponse> call = api.getSeriesDetail(sendData);
call.enqueue(new Callback<SeriesDetailResponse>() {
@Override
public void onResponse(Call<SeriesDetailResponse> call, Response<SeriesDetailResponse> response) {
if (response.body().getData() != null) {
ArrayList<String> arrayList = new ArrayList<String>();
for (int i = 0; i < response.body().getData().getStars().size(); i++) {
arrayList.add(response.body().getData().getStars().get(i).getName());
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, R.layout.spinner_hint_item, arrayList);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
SerialReview_CastSpinner.setAdapter(adapter);
SerialReview_CastProgress.hide();
}
}
@Override
public void onFailure(Call<SeriesDetailResponse> call, Throwable t) {
}
});
输出:
$a = array(3,5,1,4,2,8,6,7,9,10);
Echo findsum(6, $a);
Function findsum($sum, $a){
Asort($a);
$a = Array_values($a);
Foreach($a as $key => $val){
If($val>=$sum) break;
$find = $sum - $val;
$subarr = array_slice($a, $key+1);
If (in_array($find, $subarr)) echo $val . "+" . $find . "\n";
}
}
使用更大的数组编辑代码以提高效率
现在它对数组进行排序,当它看到的值大于或等于它所发现的总和时,它将停止
理论上。它应该能够停止1+5
2+4
,但我不确定