科大讯飞笔试四道题(100%,0 , 100%,85%)

第一题,硬币找零,最少多少张纸币   100%

有面值1,5,10,50,100,分别对应变量:a、b、c、d、e
若有k元钱,最少多少张纸币能找零,若不能则输出-1
贪心:从大到小遍历一遍,注意给定币值数量判断
#include<bits/stdc++.h>

using namespace std;

int main()
{
    int a,b,c,d,e;
    int k;

    cin >> a >> b >> c >> d >> e;
    cin >> k;

    int res = 0;

    if(k >= 100 && e) {
        int s = k/100;
        if(s <= e) {
            res += s;
            k = k%100;
        } else {
            res += e;
            k = k - (e * 100);
        }
    }

    if(k >= 50 && d) {
        int s = k/50;
        if(s <= d) {
            res += s;
            k = k%50;
        } else {
            res += d;
            k = k - (d * 50);
        }
    }

    if(k >= 10 && c) {
        int s = k/10;
        if(s <= c) {
            res += s;
            k = k%10;
        } else {
            res += c;
            k = k - (c * 10);
        }
    }

    if(k >= 5 && b) {
        int s = k/5;
        if(s <= b) {
            res += s;
            k = k%5;
        } else {
            res += b;
            k = k - (b * 5);
        }
    }

    if(k <= a)
        cout << res+k;
    else
        cout << -1;
    return 0;
}


第二题:排序题    未做


第三题:矩形是否相交  100%

给定坐标:(0,0),(2,3),(1,2),(5,4)
判断前两个点对角线构成的矩形是否与后两个点构成的矩形相交
相交则输出1,否则输出0

直接输出:1   过了65%
直接模拟判断出为0的情况:
第二个矩形两个点的横坐标同时大于第一个矩形第二个点的横坐标为不相交
第二个矩形两个点的横坐标同时小于第一个矩形第一个点的横坐标为不相交
第二个矩形两个点的纵坐标同时大于第一个矩形第二个点的纵坐标为不相交
第二个矩形两个点的坐标同时小于第一个矩形第一个点的坐标为不相交

否则输出1即可
#include<bits/stdc++.h>

using namespace std;

int main()
{
    //矩形1
    int x1,y1,x2,y2;
    //矩形2
    int a1,b1,a2,b2;

    cin >> x1 >> y1 >> x2 >> y2;
    cin >> a1 >> b1 >> a2 >> b2;

    if(b1 > y2 && b2 > y2)
        cout << 0;
    else if(b1 < y1 && b2 < y1)
        cout << 0;
    else if(a1 > x2 && a2 > x2)
        cout << 0;
    else if(a1 < x1 && a2 < x1)
        cout << 0;
    else
        cout << 1;
    return 0;
}



第四题:字符串中提取整数    85%

例如:+1a2
输出:12

例如:-1a2
输出:-12

简单模拟,没过,可能有特殊数据未考虑到


#科大讯飞笔试##笔试题目##科大讯飞#
全部评论
四道AC
6 回复 分享
发布于 2020-07-31 16:02
100 100 100 85 第二题快速排序。 //划分一次就输出整个数组 int  part(vector<int>&nums, int left, int right,int n){     int prv = nums[left];     int s = left;     left++;     while(left <= right){           while(right>=left&&nums[right]>= prv){             right--;         }                  while(left<=right && nums[left]< prv){             left++;         }                  if(right < left) break;         swap(nums[left],nums[right]);     }     swap(nums[s], nums[right]);          for(int i = 0; i< n;i++){         if(i == n-1){             cout<<nums[i]<<endl;         } else cout<<nums[i]<<" ";     }     return right; } void helper1(vector<int>& nums, int left, int right, int n){     if(right<0) return ;     if(left>=n ) return;     if(left>=right) return ;     int mid = part(nums, left, right, n);     helper1(nums, left, mid-1, n);     helper1(nums, mid+1, right, n); }
3 回复 分享
发布于 2020-07-31 15:56
转载:第二题 int q_sort_process(vector<int>& v, int left, int right) {     int l = left + 1;     int r = right - 1;     while (l <= r) {         while (v[l] <= v[left] && l <= r) {             l++;         }         while (v[r] >= v[left] && l <= r) {             r--;         }         if (l <= r) {             swap(v[l], v[r]);         }     }       swap(v[r], v[left]);     for (int i = 0; i < v.size(); i++) {         cout << v[i] << " ";     }     cout << endl;     return r; } void q_sort(vector<int> &v,int left,int right) {     if (left + 1 < right) {         int mid = q_sort_process(v, left, right);         q_sort(v, left, mid);         q_sort(v, mid+1, right);     } } int main() {     int n;     while (cin >> n) {         vector<int> v(n, 0);         for (int i = 0; i < n; i++) {             cin >> v[i];         }         q_sort(v, 0, n);     }     return 0; }
1 回复 分享
发布于 2020-08-01 11:21
第四道:输入while,防止回车空格等。取0 < num < 9或 num == - 。输出头 - 或 大于0,中间不能有‘-’
1 回复 分享
发布于 2020-07-31 22:10
四道题全部AC。。。。。运气好,第一道题一眼看上去是背包问题,用动态规划,想了想不会做调过来,后面三题做完回头看第一题发现题目条件比较特殊,直接暴力求解简单还高效
1 回复 分享
发布于 2020-07-31 20:55
0AC 你看我还有希望吗
1 回复 分享
发布于 2020-07-31 19:32
100 20 100 100 求面试(你看我还有机会吗.jpg)
1 回复 分享
发布于 2020-07-31 16:00
为啥我的快排跟他的不一样
1 回复 分享
发布于 2020-07-31 16:00
100 60 100 100
1 回复 分享
发布于 2020-07-31 15:53
100  0   67  57  我还有机会吗🙃
1 回复 分享
发布于 2020-07-31 15:48
第四个题需要按行输入,所以空格也要进行判断 还有+0 -0 000 都要变为0
1 回复 分享
发布于 2020-07-31 15:46
我排序不会  剩下都100
1 回复 分享
发布于 2020-07-31 15:28
第一题题目如果给出的硬币值为 1 5 10 52 100 ,数量分别为2 1 1 2 1 ,那么这种方法就没用了对吗,这种解法适用于相邻的硬币是整除的关系。不知道是不是我理解的这样望指教!
点赞 回复 分享
发布于 2020-08-01 14:20
我去 第一题 我说怎么回事 ac了80 我把后天的条件给受限了 应该是大于50 我直接 50到100 我还直接在前面判断 日了😓 2.8
点赞 回复 分享
发布于 2020-08-01 08:37
第一题还搞了个回溯😂😂80
点赞 回复 分享
发布于 2020-08-01 08:21
第三题只有一条边相交是怎么算?
点赞 回复 分享
发布于 2020-08-01 00:29
80-0-100-100,第二题排出来了,但是中间过程出错了😂
点赞 回复 分享
发布于 2020-08-01 00:29
100 0 100 83 已经是极限了
点赞 回复 分享
发布于 2020-07-31 23:43
100 0 66.67 100是不是没了
点赞 回复 分享
发布于 2020-07-31 23:00
ac ac ac 71 最后一题不会
点赞 回复 分享
发布于 2020-07-31 22:47

相关推荐

2025-12-12 19:01
南京航空航天大学 C++
秋招没咋投,准备&nbsp;wxg&nbsp;转正之后摆烂了。结果不堪字节&nbsp;HR&nbsp;的骚扰还是面了一下字节。之前想去字节的时候怎么面都挂。现在想着随便面一下结果三面技术面都意外顺利还有加面。十月中旬字节发了意向,wxg&nbsp;转正结果无响应。十月底字节拉了保温群,wxg&nbsp;口头通过,系统显示考核中。十一月初和字节&nbsp;ld&nbsp;交流之后得知&nbsp;base&nbsp;居然能选海外,甚至能小&nbsp;wlb&nbsp;一下,wxg&nbsp;无响应无人联系。十一月中旬把字节&nbsp;base&nbsp;转到了海外,wxg&nbsp;流程灰了,一问超时忘处理了,过两天又变考核中了。十一月下旬字节换了海外&nbsp;HR&nbsp;对接,问了期望薪资,wxg&nbsp;考核终于显示通过,无&nbsp;HR&nbsp;保温,无其他保温。十一月底给字节报了个天价,想吓吓他们,同时告诉微信字节要开了,微信无响应。同样十一月底字节&nbsp;HR&nbsp;告诉我确实给不到那么高,但是能拿期权补上,问能不能接受。微信无响应。同样十一月底字节&nbsp;HR&nbsp;告知了具体方案,符合预期。&nbsp;微信无响应。十二月上旬催&nbsp;wxg&nbsp;不开我就盲拒了,wxg&nbsp;HR&nbsp;火急火燎的打电话问情况,问期望。我给了一个不算夸张的总包数字,因为今年市场在涨,过了三天还不联系我,我再催,约时间下午打电话,非得在我给出的数字上压下去几万,微信又不差这点,为什么不能满足我,让我没有拒绝的理由呢?一番纠结抗争,求稳还是追求挑战,最终选择接受迎接新的挑战,因为堂吉诃德永远不会停下脚步!回想起来,在&nbsp;wxg&nbsp;谈薪的阶段,我认为并没有给予我一定的重视,即使&nbsp;HR&nbsp;表示我在实习期间的表现和之前的面评都很靠前。也没有感觉到想要争取我,虽然我表示拒了&nbsp;offer&nbsp;之后要给我加面委定&nbsp;t6&nbsp;再涨,但我三个月没面试让我面面委那就是白给,还是算了。有缘再见了我亲爱的&nbsp;wxg,再见了曾经的梦中情厂,再见亲爱的&nbsp;mt,再见亲爱的朋友们。也再见,北京的一切。我想润了。秋招结束,卸载牛客,下一个三年,下一个五年,下一个十年后再来看看。
面试中的大熊猫爱吃薯...:我嫉妒得狗眼通红
点赞 评论 收藏
分享
评论
9
65
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务