rust sort

Posted chenguifeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rust sort相关的知识,希望对你有一定的参考价值。

leetcode 976

给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。

如果不能形成任何面积不为零的三角形,返回 0

 1 impl Solution {
 2     pub fn largest_perimeter(a: Vec<i32>) -> i32 {
 3         let mut a = a;
 4         a.sort_by(|a, b| b.cmp(&a));
 5         for i in 0..a.len()-2 {
 6             if a[i] < a[i+1] + a [i+2] {
 7                 return a[i] + a[i+1] + a[i+2];
 8             }
 9         }
10         0
11     }
12 }

sort_by源码

 1 /// # Examples
 2     ///
 3     /// ```
 4     /// let mut v = [5, 4, 1, 3, 2];
 5     /// v.sort_by(|a, b| a.cmp(b));
 6     /// assert!(v == [1, 2, 3, 4, 5]);
 7     ///
 8     /// // reverse sorting
 9     /// v.sort_by(|a, b| b.cmp(a));
10     /// assert!(v == [5, 4, 3, 2, 1]);
11     /// ```
12     #[stable(feature = "rust1", since = "1.0.0")]
13     #[inline]
14     pub fn sort_by<F>(&mut self, mut compare: F)
15         where F: FnMut(&T, &T) -> Ordering
16     {
17         merge_sort(self, |a, b| compare(a, b) == Less);
18     }

以上是关于rust sort的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

代码片段 - Golang 实现集合操作

趣味编程:静夜思(Rust版)

c ++ std :: sort intel编译器错误:访问冲突

苹果拥抱 Rust,正在将 C 代码移植到 Rust

java8 .stream().sorted().filter().map().collect()用法