华为面试算法题求助

给三个数,a,b,n,输出a到b范围内数中不包含n的数的个数,n范围是0到9,这个不用暴力怎么写,比如说a为1,b为20,n为2,结果为17,有无大佬给个解答
全部评论
数位dp,这个是hard难度的题,面试手撕属于太难了
2 回复 分享
发布于 2023-10-11 19:46 北京
#include<stdio.h> int main() { int t , a=1, b=20, n=2,w,k=0; scanf_s("%d%d%d", &amp;a, &amp;b, &amp;n); for (w = a; w <= b; ++w) { t = w; do { if ((t< 10 )&amp;&amp; (t == n))break; else if ((t>=10)&amp;&amp;(t%10 == n)) break; else t = t / 10; } while (t != 0); if (t==0) { k++; printf("%d\n", w); } } printf("有%d个数", k); }
点赞 回复 分享
发布于 2023-10-28 15:05 广东
数位dp吧
点赞 回复 分享
发布于 2023-10-11 16:13 广东
感觉需要把个十百每位取出来分别与n进行比较
点赞 回复 分享
发布于 2023-10-11 16:00 山西
数位dp,或者数值范围小的话,直接暴力判断
点赞 回复 分享
发布于 2023-10-11 15:19 陕西
把包含的算出来减掉
点赞 回复 分享
发布于 2023-10-11 11:58 陕西
这不是排列组合问题嘛,每个位不能取n
点赞 回复 分享
发布于 2023-10-11 11:47 广东

相关推荐

好久没来牛客了,今天面试了一个实习生,感觉对方形象乱糟糟的,头发像鸡窝,像刚睡醒就来面试了,第一印象直接大打折扣,感觉我没有受到应有的尊重,再加上对方业务能力也一般,我直接挂掉;大家面试的时候还是好好收拾一下自己吧,争取给面试官留下个好印象,面试这东西还是存在眼缘的
MinJerous:更在乎本质,应该看候选人是否和岗位需要的能力匹配。洗脸/不洗头都无所谓吧,说不定人家刚刚通宵准备,就是为了这场面试呢?你挂掉他核心原因还是他能力不行,而不是形象。就算形象好点,能力不行你敢给过吗,不怕后面+1质疑你
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

更多
牛客网
牛客企业服务