我得到“虚无价值不被忽视,因为它应该是”我该怎么办?

时间:2017-08-27 07:55:38

标签: c++ vector

问题链接:

  

https://www.interviewbit.com/problems/minimize-the-absolute-difference/

     

它有一个ide,所以你可以在网站上解决它。

问题:

给出三个排序的阵列A,B和C,其大小不一定相同。

计算三元组a,b,c中最大和最小数之间的最小绝对差值,使得a,b,c分别属于数组A,B,C。 即最小化| max(a,b,c) - min(a,b,c)|。

示例:

输入:

A : [ 1, 4, 5, 8, 10 ]
B : [ 6, 9, 15 ]
C : [ 2, 3, 6, 6 ]

输出:

1

说明:我们得到a = 5,b = 6,c = 6的最小差值为| max(a,b,c) - min(a,b,c)| = | 6-5 | = 1。

我的解决方案:

int Solution::solve(vector<int> &A, vector<int> &B, vector<int> &C) {

    int a,b,c,d,e,f,g,i,j;

    a=A.pop_back();
    b=B.pop_back();
    c=C.pop_back();

    while(A.size()>0 && B.size()>0 && C.size()>0){


        if(a>=b && b>=c){
            d = abs(a-c);
            if(d<f){
                f=d;
            }
            a=A.pop_back();
        }

        if(a>=b && c>=b){
            d = abs(a-b);
            if(d<f){
                f=d;
            }
            a=A.pop_back();
        }

        if(b>=a && a>=c){
            d = abs(b-c);
            if(d<f){
                f=d;
            }
            b=B.pop_back();
        }

        if(b>=a && c>=a){
            d = abs(b-a);
            if(d<f){
                f=d;
            }
            b=B.pop_back();
        }

        if(c>=a && a>=b){
            d = abs(c-b);
            if(d<f){
                f=d;
            }
            c=C.pop_back();
        }

        if(c>=b && b>=a){
            d = abs(c-a);
            if(d<f){
                f=d;
            }
            c=C.pop_back();
        }


    }

    cout<<f;

}

1 个答案:

答案 0 :(得分:2)

import classnames from 'classnames'; export class Price extends React.Component { componentWillUpdate(nextProps, nextState) { if (nextProps.price !== this.props.price) { if (nextProps.price >= this.props.price) { this.setState({ shouldShowUpTick: true }, () => { setTimeout(function() { this.setState({ shouldShowUpTick: false })); }, 10000); } else { this.setState({ shouldShowDownTick: true }, () => { setTimeout(function() { this.setState({ shouldShowDownTick: false })); }, 10000); } } } render() { const classNames = classnames('price', { 'up-tick': this.state.shouldShowUpTick, 'down-tick': this.state.shouldShowDownTick }); return ( <span className={ classNames }> {this.props.price.toFixed(2)} </span> ); } } 函数不会返回弹出的元素。你必须这样做:

pop_back()

......等等。

有关API设计的说明,请参阅Why doesn't std::queue::pop return value.?