Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Remove all negative numbers after the first negative number in the array

2025-01-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

Scala > val a = ArrayBuffer [Int] (1,2pint 3,5,-1,2,3,5) a: scala.collection.mutable.ArrayBuffer [Int] = ArrayBuffer (1,2pint 3,5,1,2,3,5) scala >: paste// Entering paste mode (ctrl-D tofinish) var foundFirstNegative = falseval keepIndexes = for (I 0) # indicates 1yield {if (a (I) < 0) foundFirstNegative = true I # description 2} for (I ares4:scala.collection.mutable.ArrayBuffer [Int] = ArrayBuffer (1,2,3,5,-1,2)

Algorithm description: avoid the traditional multiple moving array, multiple remove, the advantage of the above code design is to find out the elements that do not meet the conditions index, and then delete these elements.

Explanation 1: the first negative number and all positive numbers will pass through the if guard

Note 2: the first negative number goes through the if guard, enters the description 2 code, and sets foundFirstNegative to true. The subsequent negative number cannot pass the if guard part, and I and if are independent and are not surrounded by blocks.

Note 3: set the first keepIndexes.length elements in a to the corresponding integer and the first negative number

Note 4: delete the elements after the keepIndexes.length-1 position in a, and the rest are the required elements.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report