当前位置: 首页 > news >正文

做pcr查基因序列的网站龙岗网站建设公司

做pcr查基因序列的网站,龙岗网站建设公司,户型图在哪个网站找,网站开发前期调研67. 二进制求和 题目描述 67. 二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 运行代码(javaC) class Solution {public String addBinary(String a, String b) {StringBuilder ansnew StringBuilder();int ca0;for(i…

67. 二进制求和

题目描述

67. 二进制求和

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。

运行代码(java+C++)

class Solution {public String addBinary(String a, String b) {StringBuilder ans=new StringBuilder();int ca=0;for(int i=a.length()-1,j=b.length()-1;i>=0||j>=0;i--,j--){int sum=ca;sum+=i>=0?a.charAt(i)-'0':0;sum+=j>=0?b.charAt(j)-'0':0;ans.append(sum%2);ca=sum/2;}
ans.append(ca==1?ca:"");
return ans.reverse().toString();}
}
class Solution {
public:string addBinary(string a, string b) {string ans;int ca = 0;int i = a.length() - 1;int j = b.length() - 1;while (i >= 0 || j >= 0) {int sum = ca;sum += (i >= 0)? a[i] - '0' : 0;sum += (j >= 0)? b[j] - '0' : 0;ans += to_string(sum % 2);ca = sum / 2;i--;j--;}if (ca == 1) ans += to_string(ca);reverse(ans.begin(), ans.end());return ans;}
};

代码思路

  1. 初始化:定义一个字符串 ans 用于存储最终的二进制和结果。定义变量 ca 作为进位标志,初始值为 0。定义两个指针 i 和 j,分别指向输入字符串 a 和 b 的最后一个字符,即从最低位开始进行加法运算。

  2. 逐位相加

    • 进入循环,条件是 i >= 0 或者 j >= 0,即只要两个字符串中还有未处理的位就继续循环。
    • 计算当前位的和 sum,首先将进位标志 ca 加入,然后如果 i 指针指向的位置有效(即 i >= 0),将字符串 a 中当前位的值(转换为数字)加入 sum;如果 j 指针指向的位置有效(即 j >= 0),将字符串 b 中当前位的值(转换为数字)加入 sum
    • 将 sum 对 2 取余的结果转换为字符串并添加到 ans 中,这就是当前位的结果(0 或 1)。
    • 更新进位标志 ca 为 sum 除以 2 的结果。移动指针 i 和 j 分别向左一位。
  3. 处理进位:循环结束后,如果进位标志 ca 为 1,说明还有一个进位需要添加到结果中,将 ca 转换为字符串并添加到 ans

  4. 反转结果:由于是从低位向高位计算,所以最后需要将结果字符串 ans 反转,得到正确的二进制和。

  5. 返回结果:返回最终的二进制和字符串 ans

27. 移除元素

题目描述

27. 移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。

假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:

  • 更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。
  • 返回 k

用户评测:

评测机将使用以下代码测试您的解决方案:

int[] nums = [...]; // 输入数组
int val = ...; // 要移除的值
int[] expectedNums = [...]; // 长度正确的预期答案。// 它以不等于 val 的值排序。int k = removeElement(nums, val); // 调用你的实现assert k == expectedNums.length;
sort(nums, 0, k); // 排序 nums 的前 k 个元素
for (int i = 0; i < actualLength; i++) {assert nums[i] == expectedNums[i];
}

如果所有的断言都通过,你的解决方案将会 通过

运行代码

class Solution {
public:int removeElement(vector<int>& nums, int val) {for(auto iter = nums.begin(); iter != nums.end();){if(*iter == val){iter = nums.erase(iter);}else{++iter;}}return nums.size();}
};

代码思路

  1. 遍历数组

    • 使用迭代器 iter 遍历输入的整数向量 nums。从 nums.begin() 开始,一直到 nums.end()
    • 在每次循环中,检查当前迭代器指向的元素是否等于给定的值 val
  2. 删除等于给定值的元素

    • 如果当前元素等于 val,则调用 nums.erase(iter) 来删除该元素。erase 函数会返回一个指向下一个有效元素的迭代器,将其赋值给 iter,以便继续遍历。
    • 如果当前元素不等于 val,则递增迭代器 iter,指向下一个元素。
  3. 返回结果:最后,返回 nums 的大小,即经过删除操作后剩余元素的数量。

26. 删除有序数组中的重复项

题目描述

26. 删除有序数组中的重复项

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

  • 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
  • 返回 k 。

判题标准:

系统会用下面的代码来测试你的题解:

int[] nums = [...]; // 输入数组
int[] expectedNums = [...]; // 长度正确的期望答案int k = removeDuplicates(nums); // 调用assert k == expectedNums.length;
for (int i = 0; i < k; i++) {assert nums[i] == expectedNums[i];
}

如果所有断言都通过,那么您的题解将被 通过

运行代码

class Solution {
public:int removeDuplicates(vector<int>& nums) {
int n=nums.size();
if(n==0){return 0;
}
int fast=1,slow=1;
while(fast<n){if(nums[fast]!=nums[fast-1]){nums[slow]=nums[fast];++slow;}++fast;
}return slow;}
};

代码思路

  1. 边界情况处理:首先检查输入向量 nums 的大小是否为 0。如果是,则直接返回 0,表示没有任何元素,也没有不重复的元素。

  2. 初始化指针:定义两个指针 fast 和 slow,分别用于快速遍历整个数组和标记不重复元素的位置。初始时,将 fast 和 slow 都设置为 1,表示从第二个元素开始检查重复情况。

  3. 遍历数组

    • 进入 while 循环,条件是 fast 小于数组的大小 n。这个循环的目的是通过 fast 指针快速遍历整个数组,找到不重复的元素。
    • 在每次循环中,检查当前 fast 指针指向的元素是否与前一个元素(nums[fast - 1])不同。
    • 如果不同,说明找到了一个不重复的元素,将其赋值给 slow 指针指向的位置(nums[slow] = nums[fast]),然后将 slow 指针向后移动一位(++slow)。
  4. 移动指针:无论当前元素是否重复,都将 fast 指针向后移动一位(++fast),继续检查下一个元素。

  5. 返回结果:循环结束后,slow 指针的值表示不重复元素的数量。返回 slow 作为结果,它代表了删除重复元素后数组的新长度。

http://www.fp688.cn/news/164582.html

相关文章:

  • 深圳找工作哪个网站好地推怎么做最有效
  • 东莞手机网站制作免费开发网站
  • 学什么可以做视频网站下载百度app
  • 单页营销网站设计邯郸seo优化
  • 网络网站公司seo文章排名优化
  • 旅游网站制作毕业论文郑州seo招聘
  • 关键词排名优化网站市场调研与分析
  • 哪个网站做处理货事件营销的案例有哪些
  • 西安旅游必去十大景点推荐网站页面优化内容包括哪些
  • 黑河做网站的公司关键词排名优化易下拉技术
  • 长沙B2B2C商城网站建设设计公司排名
  • 网站开发设计招聘宁波网站推广公司价格
  • 怎么自己建网站赚钱出售友情链接是什么意思
  • wordpress成品网站免费seo怎么做最佳
  • 国外数据网站磁力
  • 怎样做中英文网站百度推广营销
  • 网站建设时间查询矿坛器材友情交换
  • wordpress怎么编辑页面百度竞价关键词怎么优化
  • 亚马逊虚拟主机做网站云seo关键词排名优化软件
  • dw怎么做网站注册登入页面某网站seo诊断分析
  • 企业网站系统百度网盘客服24小时电话人工服务
  • 简述app开发流程seo结算系统
  • 兰州专业做网站的公司哪家好b站视频推广的方法有哪些
  • 网站怎么在工信部备案上海城市分站seo
  • 湖南网站开发公司电话网站收录查询平台
  • 华为云怎么做网站关键词百度指数查询
  • 东莞品牌做网站搜索引擎优化宝典
  • 怎么注册公司最好seo关键词排名优化的方法
  • 深圳网站备案时间计算机培训机构排名前十
  • 网站建设的机构百度推广热线电话