代码随想录训练营Day01-704.二分查找-27.移除元素-977.有序数组的平方

704.二分查找

  • 题目链接:704.二分查找
  • 思路:二分法查找,有不同的方式,闭区间,左闭右开,开区间
  • 代码如下:
class Solution {
public:// 闭区间int Dichotomy1(int n, int l, int r) {r = n - 1;while(l <= r) {int mid = l + (r - l) / 2;if(nums[mid] < target) {l = mid + 1;} else {r = mid - 1;}}return left;}// 左闭右开int Dichotomy2(int n, int l, int r) {while(l < r) {int mid =  l + (r - l) / 2;if(nums[mid] < target) {l = mid + 1;} else {r = mid;}}return left;}// 开区间int Dichotomy3(int n, int l, int r) {while(l < r) {int mid = l + (r - l) / 2;if(nums[mid] < target) {l = mid;} else {r = mid;}}return right;}int search(vector<int>& nums, int target) {int n = nums.size();int l = 0, r = n;Dichotomy2(n, r, l)}
};

27. 移除元素

  • 题目链接:27. 移除元素
  • 思路:题目一开始做的时候直接想的是暴力法,直接新建一个数组,记录不等val的数,然后赋值到原数组中,后来思考参考灵神的解法,遍历原数组,直接赋值即可
  • 代码:
class Solution {
public:// 暴力法int f1(vector<int>& nums, int val) {int n = nums.size();vector<int> t(n, 0);int k = 0;for(int i = 0; i < n; i++) {if(nums[i] != val) {t[k++] = nums[i];}}for(int i = 0; i < k; i++) {nums[i] = t[i];}return k;}// 原地法int f2(vector<int>& nums, int val) {int k = 0;for(int x : nums) {if(x != val) {nums[k++] = x;}	}}int removeElement(vector<int>& nums, int val) {return f2(nums, val);}

977.有序数组的平方

  • 题目链接:977.有序数组的平方
  • 思路:
    1. 暴力法:直接新建一个数组,存储当前数的平方,然后排序
    2. 双指针:参考灵神的思路,本题的数组的数有小于0的部分,和大于等于0的部分,非递减序列,数字一定是升序,所以数的平方值最大的两个一定是第一个或者是最后一个,所以使用双指针,分别比较第一个和最后一个数的平方的大小,平方数的大的放到新的数组的最后一个,然后对应指针往前或者往右移一位,以此循环,最终全部填充
  • 代码:
class Solution {
public:vector<int> f1(vector<int>& nums) {int n = nums.size();vector<int> ans(n, 0);for(int i = 0; i < n; i++) {ans[i] = nums[i] * nums[i];}sort(ans.begin(), ans.end());return ans;}vector<int> f2(vector<int>& nums) {int n = nums.size();vector<int> ans(n);int i = 0, j = n - 1, t = n - 1;while(t >= 0) {if(-nums[i] < nums[j]) {ans[t--] = nums[j] * nums[j];j--;} else {ans[t--] = nums[i] * nums[i];i++;}}return ans;}vector<int> sortedSquares(vector<int>& nums) {return f2(nums);}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/455369.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你不常用的 FileReader 能干什么?

前言 欢迎关注同名公众号《熊的猫》&#xff0c;文章会同步更新&#xff0c;也可快速加入前端交流群&#xff01; 本文灵感源于上周小伙伴遇到一个问题&#xff1a; “一个本该返回 Blob 类型的下载接口&#xff0c;却返回了 JSon 类型的内容&#xff01;&#xff01;&#xf…

HTML之表单设计

1、HTML表单 HTML表单是用于收集用户输入的信息&#xff0c;并将用户输入的内容信息传到后台服务器中。 表单是通过form标签实现。 特别注意&#xff1a;如果一些内容提交后&#xff0c;没有将内容提交给后台服务器&#xff0c;那么需要添加一个name属性&#xff0c;语法&am…

Stable Diffusion 3.5 震撼发布!最新开源 AI 图像生成模型,艺术创作必备神器!

❤️ 如果你也关注大模型与 AI 的发展现状&#xff0c;且对大模型应用开发非常感兴趣&#xff0c;我会快速跟你分享最新的感兴趣的 AI 应用和热点信息&#xff0c;也会不定期分享自己的想法和开源实例&#xff0c;欢迎关注我哦&#xff01; &#x1f966; 微信公众号&#xff…

【NOIP普及组】 装箱问题

【NOIP普及组】 装箱问题 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 有一个箱子容量为V&#xff08;正整数&#xff0c;0&#xff1c;&#xff1d;V&#xff1c;&#xff1d;20000&#xff09;&#xff0c;同时有n个物品&#xff08;0&…

KubeSphere 最佳实战:Kubernetes 部署集群模式 Nacos 实战指南

Nacos 是 Dynamic Naming and Configuration Service 的首字母简称&#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 是构建以服务为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 在本文中&#xff0c;我将为您提供…

k8s备份恢复(velero)

velero简介 velero官网&#xff1a; https://velero.io/ velero-github&#xff1a; https://github.com/vmware-tanzu/velero velero的特性 备份可以按集群资源的子集&#xff0c;按命名空间、资源类型标签选择器进行过滤&#xff0c;从而为备份和恢复的内容提供高度的灵活…

怎么在线制作拼团活动

在这个快节奏的时代&#xff0c;我们总在寻找那份独特的购物乐趣与超值体验。传统购物模式已难以满足日益增长的个性化与性价比需求&#xff0c;而在线购物虽便捷&#xff0c;却常让人在琳琅满目的商品中迷失方向。正是在这样的背景下&#xff0c;一种全新的购物方式——“在线…

vue3处理货名的拼接

摘要&#xff1a; 货品的拼接规则是&#xff1a;【品牌】货名称/假如货品名称为空时&#xff0c;直接选择品牌为【品牌】赋值给货品&#xff0c;再选择品牌&#xff0c;会替换【品牌】&#xff1b;假如货名称为【品牌】名称&#xff0c;再选择品牌只会替换【品牌】&#xff0c;…

vue3项目页面实现echarts图表渐变色的动态配置

完整代码可点击vue3项目页面实现echarts图表渐变色的动态配置-星林社区 https://www.jl1mall.com/forum/PostDetail?postId202410151031000091552查看 一、背景 在开发可配置业务平台时&#xff0c;需要实现让用户对项目内echarts图表的动态配置&#xff0c;让用户脱离代码也…

2024下半年软考机考模拟系统已开放!小伙伴们速速练起来

千呼万唤使出来&#xff0c;软考机考的模拟练习系统已于10月23号正式开放&#xff01; 今年报名计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;软考&#xff09;的小伙伴们千万不要忘记哦&#xff01; 01、开放时间 据中国计算机技术职业资格网发…

基于AI识别数据的Vue.js图像框选标注

在数字化时代&#xff0c;图像识别技术的应用越来越广泛&#xff0c;尤其是在车牌识别、人脸识别等领域。本文将介绍如何使用Vue.js框架和JavaScript创建一个交互式组件&#xff0c;该组件不仅允许用户在图片上绘制多个区域&#xff0c;加载文字&#xff0c;还提供了清空功能。…

外包干了2个月,技术明显退步

回望过去&#xff0c;我是一名普通的本科生&#xff0c;于2019年通过校招有幸加入了南京某知名软件公司。那时的我&#xff0c;满怀着对未来的憧憬和热情&#xff0c;投入到了功能测试的岗位中。日复一日&#xff0c;年复一年&#xff0c;转眼间&#xff0c;我已经在这个岗位上…

常用shell指令

这些指令通常在adb shell环境中使用&#xff0c;或者通过其他方式&#xff08;如SSH&#xff09;直接在设备的shell中使用。 文件操作命令 ls&#xff1a;列出目录的内容 ls /sdcard cd&#xff1a;改变目录 cd /sdcard/Download pwd&#xff1a;打印当前工作目录 pwd cat&…

CV2通过一组轮廓点扣取图片

代码如下&#xff1a; import cv2 import numpy as np# 读取原始图像 original_image cv2.imread(img.png)# 定义一组轮廓点&#xff08;这里只是示例&#xff0c;你需要根据实际情况替换&#xff09; points np.array([[50, 100], [100, 200], [200, 150], [200, 50], [160…

负载均衡服务器攻击怎么解决最有效?

负载均衡服务器攻击怎么解决最有效&#xff1f;常见的有效解决方法包括&#xff1a;使用SYNCookie机制、限制ICMP包速率、基于源IP的连接速率限制、检测并丢弃异常IP包、配置访问控制列表&#xff08;ACL&#xff09;、设置虚拟服务器/服务器连接数量限制、设置HTTP并发请求限制…

【景观生态学实验】实验二 景观类型分类

实验目的 1.掌握ArcGIS软件的基本操作&#xff1a;通过课堂理论学习与实验课的实际动手操作&#xff0c;学习并熟练掌握如何利用ArcGIS软件对遥感影像进行一些较为基础的数据处理与分析工作&#xff0c;具体包括波段合成、图像镶嵌、图像裁剪与图像分类等&#xff1b; 2.熟悉…

基于STM32设计的养殖场环境监测系统(华为云IOT)

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】需求总结 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 二、部署华为云物联网平台2.1 物联网平台介绍2.2 开通物联网服务2.3 创建产品&#x…

微信小程序-获取头像和昵称

一.获取头像 1.将button组件open-type的值设置为chooseAvatar 2.通过bindchooseavatar事件回调获取到头像信息的临时路径 wxml文件代码&#xff1a; <view> <button class"btn" open-type"chooseAvatar" bindchooseavatar"chooseavatar&qu…

生成式人工智能

这个接龙的生成就是概率式的&#xff0c;下一个接龙的字是有概率的 本身就是在做文字接龙的游戏&#xff0c;不会搜索网上的资料

Zig语言通用代码生成器:逻辑,冒烟测试版发布

#1024程序员节 | 征文# Zig语言通用代码生成器&#xff1a;逻辑&#xff0c;冒烟测试版发布 Zig语言是一种新的系统编程语言&#xff0c;其生态位类同与C&#xff0c;是前一段时间大热的rust语言的竞品。它某种意义上的确非常像rust&#xff0c;尤其是在开发过程中无穷无尽抛错…