大佬啥学历过了简历
点赞 3

相关推荐

11-13 09:50
哈尔滨理工大学
对于一个有序序列,我们可以用二分搜索的方式在该序列中搜索某个数值。以升序序列为例,二分搜索首先确定搜索的范围(即搜索序列的第一个元素的位置 left 和最后一个元素的位置 right),然后计算出中间位置 mid。比如我们要搜索的序列是:2, 7, 11, 19, 23, 31, 33, 39。在初始的状态下,搜索范围是整个序列,那么第一个元素的位置left就是1,最后一个元素的位置right就是8,mid = (left + right)/2 = 4(注意序列的长度是偶数,left+right的和是奇数,这里对结果进行了向下取整)。接下来,检查中间位置的元素是否是要搜索的值 target(假设我们要搜索的值是31,那么target就等于31),如果不是,则比较中间元素与 target 的大小关系:如果中间位置的元素比target大,因为序列是升序的,所以 target 只可能在中间元素的左侧,也就是位于 left 和 mid - 1之间,此时把 right 更新为 mid - 1,也就是说,下一次我们要搜索的范围的右边界发生了变化。更新right后,再次计算新的mid,重复上面的搜索过程;如果中间位置的元素比 target 小,那么 target 只可能位于 mid + 1 和 r 之间,此时把 l 更新为 mid + 1(这种情况是左边界发生了变化)后,重复上面的搜索过程。在搜索过程中,一旦发现某一次,搜索范围中间的值等于target,那么就是找到了目标值;或者始终找不到的情况下,当left > right的时候,我们就知道target不在我们搜索的序列中,此时搜索也就结束了。以在序列(2, 7, 11, 19, 23, 31, 33, 39)中搜索31为例,说明一下二分搜索的流程。第一轮搜索:left = 1,right = 8(注意在大多数编程语言中,数组下标是从0开始的),mid = (1 + 8) / 2 = 4,序列中第四个元素是19,19小于要搜索的目标值31,因此31只可能在序列的后半段,此时更新左侧边界left,把left赋值为mid + 1,此时left变成了5;第二轮搜索:left = 5,right = 8,mid = (5 + 8) / 2 = 6,序列中第6个元素是31,此时找到了目标元素,其在序列中的位置是6,搜索结束。再以要搜索的值是30为例,我们从刚才的第二轮搜索继续。到了上面的第二轮搜索,序列中第6个元素是31,大于30,那么30只可能存在于第5个元素(left的值为5)的右侧、31(第6个元素)的左侧,此时更新right,将其赋值为mid - 1,此时right变成了5。继续进行第三轮搜索。第三轮搜索:left = 5,right = 5,mid = (5 + 5) / 2 = 5。序列中第5个元素是23,小于30,此时更新left为mid + 1,left的值变为6,继续进行第四轮搜索。第四轮搜索:在进行搜索前,发现left的值已经大于right,这时可以确定要搜索的值不在序列中,搜索结束。#include# includeusing namespace std;int main() {int n;cin >> n;vector nums(n);for (int i = 0; i < n; i++) {cin >> nums[i];}int V;cin >> V;int left = 0, right = n - 1;int pos = -1;while (left <= right) {int mid = (left + right) / 2;if (nums[mid] == V) {pos = mid + 1;  // 位置从1开始编号,所以加1break;} else if (nums[mid] < V) {left = mid + 1;} else {right = mid - 1;}}if (pos != -1) {cout << pos << endl;} else {cout << "Value not found." << endl;}return 0;}
点赞 评论 收藏
分享
11-12 23:30
已编辑
北海职业学院 贸易跟单
1.  请你先自我介绍一下。2.  你能介绍一下实习期间的项目背景,以及你负责的工作内容吗?3.  你们这个审批流是有用到流程引擎吧?4.  (流程引擎)主要是改了哪些内容呢?5.  这个技术选型是很早之前就选的,是吧?6.  有没有对标过其他流程引擎?如果重来一遍,你会怎么选型?7.  除了Activity,还有了解过其他的一些流程引擎吗?8.  (线上内存溢出问题)能讲一下这个是什么问题吗?具体怎么排查呢?9.  导致OOM的业务(代码)不当之处是什么?10. (待办查询时间过长)可以展开讲一下你是怎么做的。11. Redis里面的数据更新机制是怎么样的?12. 如果这个数据变动频繁,你会怎么做(缓存更新)?13. (流程引擎重构)你聊一下你们怎么做的吗?14. 你们在重构的时候,是怎么回归功能的?如何确保重构不会引入新的问题?15. 你们的灰度策略是写在代码里面吗?16. 你觉得在这个实习期间,项目在技术上或团队协作上对你的挑战有哪些?17. 你觉得你现在对这个系统了解的程度有多少?还有哪些可以待改善的地方?18. 为了(改善的)这个目标,你平时有做什么准备吗?19. 你这个项目是微服务架构的吗?20. 主要是由哪些微服务组成的?21. 你能聊一下JVM的内存模型吗?22. (JVM内存模型)它是由哪些部分组成的?23. 那垃圾回收机制你能分享一下吗?24. 有没有遇到过GC暂停时间过长的情况?25. 你能聊一下,如果是GC时间过长的话,会导致什么后果吗?26. 我们写程序的时候,应该有哪些注意的点,避免GC时间过长的情况?27. (避免GC)除了这个场景,还有其他吗?28. 你平时工作中有用到AI工具吗?29. (Copilot)是你们公司统一采购的,还是自己(买的)?30. 你觉得(AI工具)用的效果怎么样?31. 除了Copilot,还有用过其他的一些工具吗?32. 你对后面的一些职业规划,是怎么考虑的?33. 你有什么问题想要问我的吗?
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务