标准二分写法

该写法最大的优势就是不必考虑返回left还是right,因为条件是while(le<ri)

题目:704. 二分查找
1:若中位数是左中位数,那么判断排除左半部的语句,一定要排除左中位数,不然两个元素的时候,左中位数就是首元素,会死循环。
样例:

class Solution {
public:
    int search(vector<int>& nums, int target) 
    {
        int siz=nums.size();
        if(!siz)
        {
            return 0;
        }
        int le=0,ri=siz-1;
        while(le<ri)
        {
            int mi=le+((ri-le)>>1);
            if(nums[mi]<target)
            {
                le=mi+1;
            }
            else
            {
                ri=mi;
            }
        }
        return nums[le]==target?le:-1;
    }
};

2.和情况1对称,若中位数是右中位数,则判断排除右半部的语句要排除中位数,样例:

class Solution {
public:
    int search(vector<int>& nums, int target) 
    {
        int siz=nums.size();
        if(!siz)
        {
            return 0;
        }
        int le=0,ri=siz-1;
        while(le<ri)
        {
            int mi=le+((ri-le+1)>>1);
            if(nums[mi]>target)
            {
                ri=mi-1;
            }
            else
            {
                le=mi;
            }
        }
        return nums[le]==target?le:-1;
    }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Shell 的标准写法是遵循 POSIX (Portable Operating System Interface) 标准。POSIX 标准是为了让不同操作系统间的 shell 脚本能够相互兼容而制定的。因此,在编写 shell 脚本时,应该遵循 POSIX 标准的语法和语义。这样可以保证脚本在不同的操作系统环境下的兼容性和可移植性。 ### 回答2: Shell 的标准写法是指遵循一些约定俗成的编码规范,以提高脚本的可读性和可维护性。以下是几个常见的 Shell 标准写法: 1. 文件头部注释:每个 Shell 脚本的开头应该包含注释,用于说明脚本的用途和作者等信息。 ```shell #!/bin/bash # Author: Your Name # Description: Brief description of the script ``` 2. 变量的命名:变量的命名应该采用小写字母,并使用下划线来分隔单词,以增加可读性。 ```shell var_name="value" ``` 3. 缩进和代码块:使用空格或制表符进行缩进,并使用大括号将代码块包围,以提高代码的可读性。 ```shell if [ condition ]; then # code block else # code block fi ``` 4. 错误处理:在脚本中应该使用 `set -e` 来使得脚本在遇到错误时立即退出,避免继续执行可能导致更严重问题的部分代码。 ```shell #!/bin/bash set -e # code ``` 5. 注释:在脚本中适当添加注释,解释代码的作用和功能,方便他人理解和维护。 ```shell # Check if a file exists if [ -f file.txt ]; then # code fi ``` 6. 代码复用:避免在脚本中重复出现相似的代码,可以将其提取为函数,以便于复用。 ```shell # Function to get current date get_current_date() { date=$(date "+%Y-%m-%d") echo "$date" } ``` 以上是 Shell 的一些标准写法,遵循这些写法可以使得脚本更加规范、易读和易于维护。当然,实际编码中还可能会根据具体需求和团队约定加入其他规范。 ### 回答3: Shell是一种用于操作和控制计算机操作系统的命令行解释器。其标准写法可分为以下几个方面: 1. 注释:在Shell脚本中,使用注释可以对代码进行解释和说明。注释以“#”开头,可以单行注释或者使用多行注释符号“:<<EOF”和“EOF”来注释一段代码。 2. 声明解释器:为了保证Shell脚本能够正确执行,我们需要在脚本的开头添加一行声明解释器的代码。例如,#!/bin/bash表示使用bash解释器执行脚本。 3. 变量:在Shell脚本中,我们可以定义变量来保存数据。变量名由字母、数字和下划线组成,且不能以数字开头。可以使用等号“=”来给变量赋值,例如name="John"。使用$符号来引用变量的值,例如echo $name。 4. 命令行参数:在脚本执行时,我们可以通过命令行参数来传递参数给脚本。可以使用$符号和数字来引用命令行参数,例如$1表示第一个参数,$2表示第二个参数,依此类推。 5. 条件语句:使用条件语句可以根据条件执行不同的代码块。条件语句通常使用if、elif和else关键字,并以fi结尾。例如: if [ $num -eq 0 ]; then echo "Number is zero" fi 6. 循环语句:使用循环语句可以重复执行一段代码。常用的循环语句有for循环和while循环。例如: for i in 1 2 3; do echo "Number is $i" done 7. 输入输出:Shell脚本可以通过标准输入、标准输出和标准错误输出进行输入输出操作。可以使用重定向符号">"和">>"将输出重定向到文件,使用"<"将文件内容作为输入,使用"2>"重定向标准错误输出。 以上是Shell的标准写法的一些基本要点,通过合理运用这些语法规则和命令,可以编写出功能完备、可读性强的Shell脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值