From c7e9a4e1c89aa8d7a645af68d50d1622a78abf6d Mon Sep 17 00:00:00 2001 From: feilong Date: Wed, 19 Jan 2022 17:45:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=BF=9B=E9=98=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qa.md" | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/9.\350\277\233\351\230\266\344\273\273\345\212\241/1.\347\256\227\346\263\225\351\227\256\347\255\224/qa.md" "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/9.\350\277\233\351\230\266\344\273\273\345\212\241/1.\347\256\227\346\263\225\351\227\256\347\255\224/qa.md" index 1fed3a379..093f59fde 100644 --- "a/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/9.\350\277\233\351\230\266\344\273\273\345\212\241/1.\347\256\227\346\263\225\351\227\256\347\255\224/qa.md" +++ "b/data/3.\347\256\227\346\263\225\351\253\230\351\230\266/9.\350\277\233\351\230\266\344\273\273\345\212\241/1.\347\256\227\346\263\225\351\227\256\347\255\224/qa.md" @@ -2,11 +2,17 @@ 学习数据结构与算法的用户每天会产生很多实际使用的问题。请你回答5个用户提出的 [算法问题](https://ask.csdn.net/channel/1005/tag/68),以下对算法问答描述错误的是? +这是四个算法问题: + +* [算法问题一](https://ask.csdn.net/questions/7469556) +* [算法问题二](https://ask.csdn.net/questions/7544963) +* [算法问题三](https://ask.csdn.net/questions/7585638) +* [算法问题四](https://ask.csdn.net/questions/7542703) + ## 答案 ```bash -这是一个算法问题:https://ask.csdn.net/questions/7585638 -有时候,写算法的过程中出问题的不是算法的部分。例如,这个提问者原来的代码排序的部分没有问题 +有时候,写算法的过程中出问题的不是算法的部分。例如,【算法问题三】提问者原来的代码排序的部分没有问题 ``` ## 选项 @@ -14,25 +20,24 @@ ### A ```bash -这是一个二分法算法的问题:https://ask.csdn.net/questions/7544963 -回答者指出了提问者的问题包括: -1.题目要求按在科技创新奖获奖名单中的先后次序输出,所以n_a不需要排序 -2.你的排序是从大到小排序,所以二分法遍历的时候,if和else if的操作需要换一下。 -3.int low=0 , high=m-1 , mid=(low + high) / 2 ;是逗号表达式,计算顺序是从右到左,会先计算mid,但是这时候low和high还没有声明,所以需要分开写。另外,每次查找,都需要重新从0-m开始,所以需要放在for循环中。 -4.while(low <=high)需要包括=的情况。 -5.printf("%u" , item);这里,%u后面建议加一个空格,这个你自己定。下面的截图中没有加。 +【算法问题二】是一个二分法算法的问题,回答者指出了提问者的问题包括如下BUG: + +1. 题目要求按在科技创新奖获奖名单中的先后次序输出,所以n_a不需要排序 +2. 你的排序是从大到小排序,所以二分法遍历的时候,if和else if的操作需要换一下。 +3. int low=0 , high=m-1 , mid=(low + high) / 2 ;是逗号表达式,计算顺序是从右到左,会先计算mid,但是这时候low和high还没有声明,所以需要分开写。另外,每次查找,都需要重新从0-m开始,所以需要放在for循环中。 +4. while(low <=high)需要包括=的情况。 +5. printf("%u" , item);这里,%u后面建议加一个空格,这个你自己定。下面的截图中没有加。 + ``` ### B ```bash -这是一个算法题:https://ask.csdn.net/questions/7469556 -有时候,写算法的过程中出问题的不是算法的部分。例如,这个问题里提问者的问题在于substr函数用错了。 +有时候,写算法的过程中出问题的不是算法的部分。例如,【算法问题一】里提问者的问题在于substr函数用错了。 ``` ### C ```bash -这是一个算法题:https://ask.csdn.net/questions/7542703 -有时候,写算法的过程中出问题的不是算法的部分。例如,这个问题里提问者的问题在于相等判断的语法错了。 +有时候,写算法的过程中出问题的不是算法的部分。例如,【算法问题四】里提问者的问题在于相等判断的语法错了。 ``` -- GitLab