他让GPT-4实现这一操作的步骤非常简单,一共就输入了两次提示。 首先,他和GPT-4说: 这有一段排序算法,我觉得它还能进一步优化。你能不能在下面几行,用*注明哪些指令可以删除或者改进?...对比DeepMind新工作AlphaDev在处理同样问题上的思路,不能说毫无关系,只能说一模一样: DeepMind方面对AlphaDev这通操作,让人想起当年AlphaGo的“第37步”——一种违反直觉的下法却直接击败传奇围棋选手李世石...游戏: 只要能够搜索并选择出合适的指令(下图A流程),正确且快速地排好数据(下图B流程),就能获得奖励。...但这个游戏的挑战不仅在于搜索空间的大小(可组合指令数相当于宇宙中的粒子数),也在于奖励函数的性质,因为一条错误指令就可能会使整个算法失效。...有人感慨说,D教授的操作进一步验证,只要有耐心、懂提示工程,GPT-4能做到的事还有很多。 也有人提出质疑,表示GPT-4能这么做会不会是因为它的训练数据中包含了一些排序算法的优化方法?
把主线条描述清楚; 界面描述:操作、文案,文案建议其他颜色标注出来,防止和描述弄混; 业务规则:这个是在界面看不到的,比如限制条件、表格的排序规则、需要记录的数据、还有一些数字的计算公式等等; 异常描述...列几个常见的异常:如未输入、输入错误、无数据,无网络,长时间未操作,异常退出等等。...最后说下写这块内容的原则 完整:足够细,考虑足够周全; 无歧义:RD同学是拿着这个文档真真切切写代码,所以说得内容,要能够落到代码上,比如用户一段时间未操作则提示。。。...第四部分:数据需求 因为我本人是数据产品的产品经理,所以这一部分对于我们很重要,需要哪些维度、哪些指标,指标的来源库表字段、计算口径是什么,这些都要清晰地记录下来。...我尝试过几种方式,之前就在axure中完成,在DEMO的右侧进行说明,但这个不好的是:在进行更新后,还要发送给大家,各个版本的存放加上axure本身下载解压就比较麻烦,所以并不是最佳方案。
说一说ES6中对于数组有哪些扩展 数组去重,你能说出多少种方法? 你知道Array.prototype的类型是什么吗?...你能说出多少种方法? 如何克隆一个数组?你能说出多少种? 说一说Array.prototype.sort()方法的原理?(追问:不传递参数会如何?) 找出Array中的最大元素,你能说出几种方法?...你能说出多少种方法? 这个方法很多,如果你的答案是用递归的话,那确实有点low,而且代码会比较复杂。...你能说出多少种?...若 a 大于 b,则返回一个大于 0 的值。 找出Array中的最大元素,你能说出几种方法?
当我们使用qsort进行排列时,其qsort函数内部是通过快速排序来实现排列(我们并没学快速排列,其涉及的知识对我来说超纲) 对于其参数四个类型中,唯独最后的函数指针接受其相同类型函数的函数名:所以其接收的函数需要自定义...对于qsort函数的排序不同类型时的不同代码格式,这里我们还展示其他几种特殊的排列。...所以可以完美用于其自定义函数上 字符串大小排列的自定义函数 上述代码没问题,能隐式转换从而变为 const char*,库函数最终会返回出大于0或者小于0或者等于0的值,符合自定义函数的返回值。...https://blog.csdn.net/ZDDWLIG/article/details/120209948 模拟qsort函数的实现 由于qsort函数内部是通过快速排序实现的,快速排序的知识点对我们来说超纲了...所以这就是qsort函数的模拟实现(用冒泡排序实现跟其本质快速排序实现不一样) ,这模拟实现其实没有太过复杂。我们可以了解下知道它的一些很巧妙的地方,提升下思维。
我还是老老实实完成任务,改 bug 吧。不能说我的工作效率很高,只能说很勉强,不至于被解雇。但后来我的老板问我:“你想把部分汇编代码改成 GLSG 吗?”...虽然我并不了解GLSL是什么,但我觉得总不至于还不如 C++ 吧,于是我答应了。结果确实不至于还不如 C++。...第三个问题,以下哪个版本的三元组排序更快?版本1:带有分支的交换排序;版本2:无分支的索引排序? 如果你果断地回答了以上所有问题,甚至没有思考或上网搜索,那么只能说你被自己的直觉骗了。...在快速傅里叶变换中,他们的解决方案明显优于 MKL 和 FFTW 的实现,他们的代码速度约快了 2 倍,即使在英特尔上也是如此。...我有一个函数,我在函数的定义前面加了@cuda.jit,Python就无法编译内核了,还提示了一些关于数组的错误。你知道这里面有什么问题吗?” 我不知道。后来,他花了一天时间自己搞清楚了。
前言 最近在和领导闲聊的时候,聊到了一些关于编程思想方面的东西,让我受益匪浅。尤其是有一个问题让我印象深刻。而且对于这个问题,在过往的面试中也被问了几次。我就把我以往自认为不错的回答重新说了一遍。...谁知领导听完,竟然笑了起来,这着实让我有点摸不到头脑。 你是什么级别的程序员? 对于这个问题,相信各位在以往的面试中,应该有被问过的吧。很明显这个是一个开放式的问题,没有标准的答案。...就以我们做的东西来说,是我们这个团队用一行一行的代码建造起来的。当我分配工作的时候,会将任务根据复杂的进行排序,然后在根据你们的能力来进行分配。比如说,把一些简单的工作,交给实习生去做。...然后把复杂一点的,交给经验丰富的去做。当人员发生变动的是时候,其他人也能快速接手。 领导:那么问题来了,如何能让其他人快速接手呢? 我:这个。。。。。...你们能说出一大堆的理由,比如说,项目赶,时间短。 我:哈哈哈。 领导:那么有没有什么办法来实现强约束呢? 我:这个。。。应该有吧。 领导:是什么呢? 我:呃呃呃!这个不知道,尴尬一笑。
大家好,又见面了,我是你们的朋友全栈君。...组件中写 name 选项有什么作用? vue 中怎么重置 data? vue 首屏加载优化 vuex是什么?怎么使用?哪种功能场景使用它? vuex有哪几种属性?...解释 React 中 render() 的目的。 React中的状态是什么?它是如何使用的? 如何更新组件的状态? 如何模块化 React 中的代码? React中的事件是什么?...插入排序 将一个新的数,和前面的比较,只要当前数小于前一个则和前一个交换位置,否则终止; 时间复杂度:O(N^2); 空间复杂度:O(1) 以下是实现该算法的代码 function insertSort...hashTable[arr[i]] = true; data.push(arr[i]); } } return data } module.exports = unique; 快速排序
而且对于这个问题,在过往的面试中也被问了几次。我就把我以往自认为不错的回答重新说了一遍。谁知领导听完,竟然笑了起来,这着实让我有点摸不到头脑。 你是什么级别的程序员? ...对于这个问题,相信各位在以往的面试中,应该有被问过的吧。很明显这个是一个开放式的问题,没有标准的答案。我是这样回答的: 我觉得我是一个中级程序员。为什么这样说呢?其实我对于初级的定义是能干活。...当人员发生变动的是时候,其他人也能快速接手。 领导:那么问题来了,如何能让其他人快速接手呢? 我:这个。。。。。 领导:很简单,要是所有人写的代码都一样,看别人的代码就像看自己的代码。...领导:alibaba的插件也好,公司的开发规范也罢,只能进行少量的约束,没办法实现强约束,你可以选择遵守,也可以选择不遵守。而且问起来,为啥不遵守。你们能说出一大堆的理由,比如说,项目赶,时间短。...总结 初级的程序员能根据自己掌握的技能完成相应的工作。中级程序员除了能完成工作以外,还能让别人快速的接手自己工作。这也就意味着,写出的代码可读性要好,要保证代码可读性,就需要付出各种的努力。
自动化测试领域正在快速发展。对专业的自动化测试工程师的需求也在增加,谁跟得上当前行业对技术的要求,谁就能站稳脚跟。...当然看您会的语言是什么,如果您只会 Py,那么考虑时间成本,建议直接学习 Py 测开。 如果 Java 您也会,那么就去学习 Java 测开比较好。...当下社会,光会一门语言是不够的,假如有一天有个机会摆在你的面前,你只能说“啊,C++,我不会哦”,那么谁也帮不了你。 手工测试存在的必要性 您必须首先清楚认知到自动化和手工测试的差异。...测试工程师不能脱离业务来写代码,很多的时候不自己手点一遍,是很难熟悉需求的。不管是自动化测试还是测试开发,在公司都需要做手工测试。...是 App 自动化的基础! Web 自动化系列文章我已经写完了。为了更清晰、更熟练得掌握 Web 自动化基础知识,特意画了一个脑图(思维导图图片可能有点小,记得点开看): ?
应该是分析函数生成的列给个别名,然后外层再用这个别名<=10,而不是还用rownum<=10。 使用分析函数和rownum,两个逻辑不一样的SQL得到相同结果集,只能说是巧合。...问题2: 有一位朋友说, 我想通过union all来实现,一个取符合要求的aaa,一个是取bbb,最后一合并,可以,虽然有点慢。...,而视图的SELECT检索项中没有ROWID,所以根本不知道按照谁的ROWID进行排序,抛出错误ORA-01446, ?...因此,只需要在子查询中的SELECT,增加ROWID字段,外层就能按照ROWID,进行排序, ? 问题3: 将问题1和问题2,进行结合,还能解决name按照rowid排序的问题, ?...对于数据检索的顺序,多说一句,有时你看见的,未必是真相,可以参考《Oracle读取数据的顺序问题》中对数据检索顺序的探索。
运动类APP是大家手机中必备的一款软件。如果说谁手机里没有任何涉及运动类APP,那只能说真的与时代脱轨了。...那到底是什么样的设计造就了如此好的用户体验,从而吸引大量用户注册使用呢。接下来和大家一起一探究竟。...有人说,我可以使用手绘啊,这个在此不多做评价,有兴 趣的可以看看我之前的文章(纸上原型设计 VS 桌面原型工具设计,你更喜欢谁?)。当然,个人 更推荐使用原型设计工具。...原型设计解读及实现技巧: 从界面中,我们可以看出,此APP中有4个底部导航菜单(运动、发现、社区、我)。在运动、社区这两个页面的布局均是通过点击标签组切换至不同页面。...此外,在单独页面中,内容的布局很多都是一致的。这些在Mockplus中均有封装好的组件和图标,可快速设计出原型。 ① 底部导航菜单栏设计 使用“带文字图标”组件,直接在图标库中填充对应图标。
哈哈~ 还没容我乐够三秒,面试官又发话了; 面试官:你看看你写的饿汉式的单例模式,能说说这段代码在什么情况下会出现bug么? 我:还沉醉其中的我,突然慌了... ...此刻的我,恍然大悟,单例模式的初衷是 保证在整个应用程序中某个实例对象有且只会有一个。...,你这样写是可能引起错误的!...INSTANCE = new Object(); 你知道这行代码是什么意思吗? 我:创建一个对象啊。...从图中可以看出A2和A3的重排序,将导致线程 B在B1处判断出instance不为空,线程B接下来将访问instance引用的对象。此时,线程B将会访问到一个还未初始化的对象。
这是我在设计飞行器期间听到的最多质疑。甚至很多“德高望重”的老古董老师,从头到尾把你批判一番,理由是什么8位机的PWM输出只有256宽度的计数周期,分辨率不够。。。...,因此我必须让自己在最短的时间内设计出软硬件,并且能够掌握理论知识,那么综合考量,我自己用8位机可以节省我自己的时间,把更多的经历放在学习算法上,这样岂不是很高效?...私以为,只要技术强的,都是应该尊敬的,别管人家是专科还是什么,技术才是硬道理,学历真的不能说明什么。 吐槽半天,到底8位机能不能做多旋翼飞控?答案当然是可以的,在此真的感谢喵呜实验室!...因此,有很多盆友跟我说,做四旋翼,主要就是调PID,我只能说你们太不踏实了。...我参考了好多个团队代码,真正的姿态解算的核心部分大家几乎都用的是同一个IMU.C文件,其实这样也无所谓,问题的关键是,不能只是调用人家的核心算法,在调通代码的基础上,一定要深入了解这个算法是如何把姿态正确计算出来的
假如需求是错的,那么哪怕为这个需求写一行代码都是浪费! 读到这里相信你也明白了,其实讲“做有价值的需求”就是讲如何做好四大工作流中业务建模和需求。...但是这个改进指标郭尚书肯定不会自己说,需要做事的人仔细揣摩,从那些“假、大、空”的话中揣摩出老大真正想要的。...这里如果问“A 市第一小学餐厅后勤管理处李处长”的目标是什么,那他很可能说“解决就餐效率低”这样正确而无用的话,那我们怎么得到想要的呢,可以通过鱼骨图(因为没有支持鱼骨图的软件,下图画的不严谨)来分析,...份钱,我不管钱是谁付,但是我1000份饭就要收1000份钱。...05、尾巴 问:“一个程序员,好好写代码就好了,学软件方法干什么。” 答:“闭上眼睛,我能清晰感受到,我写出的每一行代码,是如何微妙的改变着这个世界” -End- 原创作者|邬俊杰
假如需求是错的,那么哪怕为这个需求写一行代码都是浪费! 读到这里相信你也明白了,其实讲“做有价值的需求”就是讲如何做好四大工作流中业务建模和需求。...但是这个改进指标郭尚书肯定不会自己说,需要做事的人仔细揣摩,从那些“假、大、空”的话中揣摩出老大真正想要的。...这里如果问“A 市第一小学餐厅后勤管理处李处长”的目标是什么,那他很可能说“解决就餐效率低”这样正确而无用的话,那我们怎么得到想要的呢,可以通过鱼骨图(因为没有支持鱼骨图的软件,下图画的不严谨)来分析,...份钱,我不管钱是谁付,但是我1000份饭就要收1000份钱。...05 尾巴 问:“一个程序员,好好写代码就好了,学软件方法干什么。” 答:“闭上眼睛,我能清晰感受到,我写出的每一行代码,是如何微妙的改变着这个世界”
在这个过程中认识到了挺多有趣的人,其中「三级狗」就是我认为最有趣的那个。 以下故事就是来源于他的亲身经历。下面文中的我指代「三级狗」。...“我看你项目上都是偏独立开发,或者你一个人在项目中承担了很大的比重。那你能不能说说你们的项目在部署的时候用的是怎样的架构?”...我失去控制的舌头自作主张地把话锋导向了快速排序,那,你来写一个双向链表的快速排序吧,这个视频页面上旁边有一个编辑器,语言你随便,用 c++ 或 python 都可以,大概 10 分钟的时间,可以吧。...期间面试官也用自己的代码快速的敲击键盘,听声音猜大概是在吐槽 HR,筛选简历的时候能不能长点心,找来面试的这都什么玩意儿。 时间差不多了,再一次厚着脸皮主动承认自己写不出来。...实际上,我哪怕正经用 c++ 写一个数组的快速排序也算话,然而当时的我满身只剩下疲惫,痛苦和羞辱。
我自认为自己 Python 学的还行,工作中已经使用它实现了很多功能,直到今天我学习了景霄大神 Python 的课程,才发现,自己学习到的,仅仅是皮毛而已。...我相信很多人也和我一样,编程语言或者其他技术工具会用就行了,几乎不会思考背后的原理和设计哲学。没错,初学者是需要快速学会使用工具或编程语言,这样学会之后可以很快投入使用,为企业提供劳动价值。...比如学习过 Python 的人对列表和元组的使用再熟悉不过,大家都知道除了元组中的元素不可修改,其他操作都很一样,除此之外还能说出他们的区别吗?比如说谁初始化更快,谁效率更高,谁更节省存储空间呢?...存储方式的差异 而大神通过几行代码就能教你如何判断,比如 l = [1, 2, 3] l.__sizeof__() 64 tup = (1, 2, 3) tup....如果存储的数据或数量是可变的,比如社交平台上的一个日志功能,是统计一个用户在一周之内看了哪些用户的帖子,那么则用列表更合适。 思考题 以下两种方式初始化一个空列表,哪一种方式更高效? 原因是什么?
2017-11-29 16:08 如果要你说出 .NET 中的三个异常,NullReferenceException 一定会成为其中一个;如果说出 .NET 中的一个异常,NullReferenceException...异常就是要提供足够我们诊断错误的信息,让我们在开发中避免发生这样的错误。...当程序此时此刻的状态让我们获取不到某个数据致使数据为 null 时,可以写一个新的提示语告知此时到底是什么样的状态错误才使得获取到的数据为 null。...可是,你能说出 _value 为 null 代表什么意义吗?为什么为 null 时不应该输出?...所以,为了解决这些困惑,我建议在开发中以如下方式对待我们的 null: 对任何可被外部模块调用的方法的参数进行 null 判断,并在参数为 null 时抛出 ArgumentNullException。
凭谁发谁火、转赞量持续飙升就能说明一切: Cursor也被网友称为最佳AI代码编辑器、在与AI集成方面最先进的IDE: 还有网友抛弃VS Code+Copilot,出走Cursor,并表示: 爱了爱了...在一个文件中从头开始生成代码或重构代码,让它优化或解决错误这种问题自然不在话下: 下面是一个快速示例,用AI一键轻松生成代码并添加修改: 再来一个任务,实施起来可谓没啥难度: 特色主打不用复制粘贴...,生成代码后,直接提问即可: lint代码错误修改起来也是怎么简单怎么来: 就像网友说的,终于摆脱了不停双击鼠标: 还有网友直呼: 提高生产力,改变游戏规则。...爆火同时也有争议 但除好评外,也有对使用体验不满意的网友: 我试过了,我以为会很酷。但失望了,切换回来,删除了它。并不像宣传的那么酷。...还有网友提出了疑问: clude提供了支持vscode的免费插件cody,也可以查看工作区中的所有文件,并且可以inline修改文件。既然cursor是付费的,那么相比之下它又有何优势?
周末开始更新了,首先感谢各位对我写的东西还能保持兴趣,先回答几个留言中的一个问题和我对无损编码那一节的一个留言的一个看法,第一个是推荐算法书,首先,我不是什么高手和大牛,所以当不起“推荐”这个词...我见过很多人,对于这个问题我觉得很多人都会说出《算法导论》,但是我不完全这么认为,我始终认为人和人是不一样的,《算法导论》肯定是一本经典的书,但是学习知识的目的是要学懂,比谁的能力大不是比谁看的经典书籍多...,而是比谁懂得多。...选择排序是最为符合人类自然思维的一种排序方式,不断找到数列中的最小值,将其放在目前最小的位置上,简单方便快捷,不得不说是最“屌丝”的排序算法,没有什么特殊的技巧,完全靠两个循环,代码如下所示: 1 void...这三种最简单的排序算法是排序算法的入门,如果想测试其效率,可以使用我上一节的代码,这里我还要说一句的是,我写的这三段代码参数的命名都是不一样的,这是因为我是好几天写的,这也反过来说明了在软件开发中有一个规范的重要性
领取专属 10元无门槛券
手把手带您无忧上云