本文整理汇总了C++中arr::size方法的典型用法代码示例。如果您正苦于以下问题:C++ arr::size方法的具体用法?C++ arr::size怎么用?C++ arr::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类arr
的用法示例。
在下文中一共展示了arr::size方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: leftminarray
arr leftminarray(const arr& hist)
{
arr out(hist.size());
stack<int> S;
for(int i=0;i<hist.size(); ++i)
{
while( !S.empty() && hist[S.top()] >= hist[i]) S.pop();
if(!S.empty())out[i] = S.top();
else out[i] = -1;
S.push(i);
}
return out;
}
示例2: rightminarray
arr rightminarray(const arr& hist)
{
arr out(hist.size());
stack<int> S;
for(int i=hist.size()-1 ;i>=0; --i)
{
while( !S.empty() && hist[S.top()] >= hist[i]) S.pop();
if(!S.empty())out[i] = S.top();
else out[i] = hist.size();
S.push(i);
}
return out;
}
示例3: lookup_by_name
size_t lookup_by_name(arr &names, const char *name) {
for (size_t idx = 0; idx < names.size(); ++idx) {
if (strcmp(name, names[idx]) == 0) {
return idx;
}
}
return 0;
}
示例4: removeElement
//Given an array and a value, remove all instances of that value in place and return the new length.
//The order of elements can be changed.It doesn't matter what you leave beyond the new length(超出新长度的元素可以任意).
int Array::removeElement(arr& nums, int val)
{
int i, j;
for (i = j = nums.size() - 1; i >= 0; i--)
{
if (nums[i] == val && i != j--)
nums[i] = nums[j + 1];
}
return j + 1;
}
示例5: max_area
int max_area(const arr& hist)
{
int max_area = INT_MIN;
arr left = leftminarray(hist);
arr right = rightminarray(hist);
for(int i=0; i < hist.size(); ++i)
{
int area = (right[i]-left[i]-1 )*hist[i];
if( area > max_area) max_area = area;
}
return max_area;
}