Struct Elements

Source
pub struct Elements<'list> {
    pub list: &'list [i32],
    pub len: usize,
    pub max_sum: Option<i32>,
}

Fields§

§list: &'list [i32]§len: usize§max_sum: Option<i32>

Implementations§

Source§

impl<'list> Elements<'list>

Source

pub fn new(list: &'list [i32]) -> Self

Returns a new instance of struct Elements.

Source

pub fn find_max_sum(&mut self) -> &Self

This method finds the max subarray sum. If there are multiple subarrays with equal sum it selects the subarray that came first.

Source

pub fn result(&self) -> i32

This method returns the max subarray sum. We need to chain this method with find_max_sum.

§Examples
use max_subarray_sum::interface::Elements;

let mut list = vec![-2, -3, 4, -1, -2, 1, 5, -3];

let mut elements = Elements::new(&mut list);

let max_sum = elements.find_max_sum().result();

assert_eq!(7, max_sum);

Auto Trait Implementations§

§

impl<'list> Freeze for Elements<'list>

§

impl<'list> RefUnwindSafe for Elements<'list>

§

impl<'list> Send for Elements<'list>

§

impl<'list> Sync for Elements<'list>

§

impl<'list> Unpin for Elements<'list>

§

impl<'list> UnwindSafe for Elements<'list>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.