主题:数组(已完成)
最编程
2024-10-19 21:03:41
...
1.二分查找
有两种写法
第一种:左闭右闭
第二种:左闭右开
两种方法注意初始化 right的不同 以及更新right的不同
第一种:
class Solution {
public:
int search(vector<int>& nums, int target) {
int left = 0;
int right = nums.size()-1;
while(left<=right){
int mid = (left+right)/2;
if(target>nums[mid]){
left=mid+1;
}else if(target<nums[mid]){
right=mid-1;;
}else{
return mid;
}
}
return -1;
}
};
第二种:
class Solution {
public:
int search(vector<int>& nums, int target) {
int left = 0;
int right = nums.size();
while(left<right){
int mid = (left+right)/2;
if(target>nums[mid]){
left=mid+1;
}else if(target<nums[mid]){
right=mid;;
}else{
return mid;
}
}
return -1;
}
};
2.移除元素
这里用快慢指针
slowindex 指向将要填的位置
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int slowindex =0;
int fastindex =0;
for(int fastindex =0;fastindex<nums.size();fastindex++){
if(nums[fastindex]!=val){
nums[slowindex] = nums[fastindex];
slowindex++;
}
}
return slowindex;
}
};
3.有序数组的平方
用双指针 i,j i指向头 j指向尾 平方后比较大小 大的直接放到新的数组中 新数组从尾部开始放
int i=0;
int j=nums.size()-1;
完整代码
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int i=0;
int j=nums.size()-1;
int k =nums.size()-1;
vector<int> result(nums.size(),0);
while(i<=j){
if(pow(nums[i],2) >pow(nums[j],2) ){
result[k] = nums[i]*nums[i];
k--;
i++;
}else{
result[k] = nums[j]*nums[j];
k--;
j--;
}
}
return result;
}
};
4.长度最小的子数组
需要
使用双指针法 j指针遍历数组nums[i] j管理右边界 每次遍历都加一,low管理左边界 左边界需要判断sum是否符合条件 因此左边界可能不止加一。
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int i=0;
int sum = 0;
int minlen =INT_MAX;
for(int j=0;j<nums.size();j++){
sum=sum+nums[j];
while(sum>=target){
minlen=min(minlen,j-i+1);
sum=sum-nums[i];
i++;
}
}
return minlen==INT_MAX? 0:minlen;
}
};
5.螺旋矩阵II
略
推荐阅读
-
主题:数组(已完成)
-
LeetCode hot100 - 数组和矩阵主题(C++ 语言)
-
打造你的专属篮球明星个人网站!6页设计全解析,简单易学的DW网页制作教程。从规划到设计,一步一步教你完成静态HTML旅行主题网页作业。适合学生学习的web课程设计网页作业,让你轻松上手!
-
leetcode hot 100 刷记录(中) - 主题 53:最大子数组和(NO)
-
面试编程问题:按绝对值从小到大对已排序数组(正数和负数)重新排序 - 待续
-
天河潭景区已恢复开放,需要网上预订门票和核酸阴性证明--广大游客可通过微信搜索 "天河潭旅游度假区旅游服务 "公众号、"一码游贵州 "提前一天预订!购票时需要一人一证,完成后凭身份证即可入园。
-
重启系统 (4 级 2021-03 T) 解决方案-主题 主题描述 小明正在帮助管理一个处理数据的计算系统。有 N 个任务需要处理,它们需要按顺序完成,即每个已完成任务的数量必须大于前一个已完成任务的数量,并且单个任务不能被分解。计算系统正在运行一个奇怪的保护程序,该程序将系统可处理的数据量限制为不超过最后完成的任务。重启系统后,系统立即恢复到最高性能(系统一开始就具有最高性能,大于任何任务的处理数据量)。小明有权限重启系统一次(也可以不重启),你能帮他计算出他能完成的最大任务数吗? 输入 第一行:N (2 <= N <= 1000) 待处理任务数 第二行:N 个整数,每个任务的数据量 输出 输出只有一行,其中只包含一个整数,表示可完成的最大任务数。 输入副本示例 10 1 5 4 3 2 10 9 8 7 6 输出副本示例 9 提示 来源 理念
-
智联招聘发布第三季度平均薪酬报告;价值13亿美元的Metaverse日活跃用户仅38人;统一充电接口或让苹果一年损失数百亿美元 | EA周报 - 热点大事件 微信推出刷掌付小程序,开启全新支付模式 据悉,微信已上线 "微信刷掌付 "小程序,可以为用户刷掌付增加更便捷的管理方式,但刷掌付功能需要在刷掌设备上开通。刷掌付是继密码支付、指纹支付、刷脸支付之后,微信的又一新型支付方式。据悉,目前微信支付已在深圳部分商户接入刷掌付设备进行测试,用户可通过刷掌纹支付订单。刷掌纹设备由微信支付提供,设备上设有显示屏和掌纹识别区,用户开通微信刷掌纹支付功能后,只需在掌纹识别区扫描,即可完成商品支付,相比传统的密码支付和指纹支付,更加便捷。(星球科技) 微软多项云服务落户中国新数据中心 2022年10月13日,微软年度技术大会Ignite 2022和Ignite China中国技术峰会同步开启在线直播。面对中国市场日益增长的客户需求,微软宣布,Azure、Dynamics Power Platform等多项服务已在北上广三地数据中心落地,提升在中国市场的服务能力;世纪互联运营的Office 365上的Teams服务和世纪互联运营的Microsoft 365服务将于2023年上半年正式上线,为中国市场带来更全面、更优质的本地化服务体验和技术保障。 IBM宣布将红帽存储并入存储业务部 根据IBM与红帽的协议,IBM将成为Ceph基金会的主要赞助商,该基金会的成员合作推动Ceph开源项目的创新、开发、营销和社区活动。红帽OpenStack客户仍可从红帽及其合作伙伴处购买红帽Ceph存储,而拥有现有订购服务的红帽OpenShift和红帽OpenStack客户将能够在不改变与红帽关系的情况下,根据需要维护和扩展其存储足迹。 扎克伯格谈新款1万美元VR头显:成本价,我们不会像苹果那样定高价 元CEO扎克伯格在接受采访时谈到了公司新发布的Quest Pro新款VR头显的价格,他表示1499.99美元的定价只是 "性价比",让更多人通过购买硬件来体验元宇宙。扎克伯格还借此机会挖苦了竞争对手苹果公司,称苹果公司对该设备的定价 "已经到了极限"。他说:"通常,人们制造硬件,然后想从中获利。例如,苹果公司就是这样做的,制造硬件,然后尽可能多地收费。他说,公司还计划推出 Quest 3,售价在 300 美元到 500 美元之间。 智联招聘发布招聘薪资报告,第三季度全国平均薪资为10168美元/月
-
PC 服务器带外管理批量自动配置-BMC 批量配置的原理如下: A.前提条件:所有服务器的BMC地址在到达时出厂默认设置为DHCP(目前到达服务器的BMC地址均为静态地址,如BMC默认为192.168.2.100。) B、网络物理拓扑图:一台DHCP服务器(只有在执行脚本期间才会开启DHCP服务,平时不会开启,以最大限度控制风险)---- 已连接到待配置BMC服务器的网络(以下简称客户端); C、用户需要操作:提前为服务器BMC规划地址,分配静态IP(手动分配给服务器BMC的静态IP与我们目前的做法保持一致,一方面便于管理,一方面可以有效降低DHCP带来的不可控风险),并将服务SN的序列号与实际分配的静态IP做一个对应,形成ip.txt配置文件并上传到DHCP服务器; D.实现原理(简要步骤):在现有的BMC管理网区新增一台DHCP服务器,并为其预先划分一个IP地址池(初始定位50个),待配置BMC的服务器接入网络后,首先通过DHCP获取IP地址池中的一个临时IP,从而与DHCP服务器建立临时通信,然后DHCP服务器检测到该客户端,DHCP服务器检测到该客户端有静态IP地址后,形成ip.txt 配置文件并上传到 DHCP 服务器。DHCP 服务器检测到客户端后,会主动获取其序列号 SN,并根据该 SN 在用户上传的配置文件(ip.txt)中获取其对应的静态 IP,然后 DHCP 服务器将该静态 IP 配置给客户端(红鱼协议),客户端获取静态 IP 后关闭 DHCP-客户端。客户端获得静态 IP 后,关闭 DHCP 客户端服务,所有客户端配置完成后,DHCP 服务器关闭 DHCP 服务器服务。 这种方法的优点是 最终登陆服务器 BMC 的是一个静态 IP,由用户手动分配,台账易于管理。 只有在执行脚本时,DHCP 服务器才会开启 DHCP 服务,平时则关闭,最大限度地降低了风险。 几种特殊情况及相应的处理逻辑:
-
直击2024数字中国建设峰会中国移动AI+产业论坛展区:AI赋能千行万业 "新风尚"--面向企业办公场景,全方位展示AI移动办公、AI云电脑、"泛匠 "数字员工、AI智能画图AI移动办公、AI云电脑、"磐石 "数字员工、AI智能画图、AI商企助手5款产品,用AI替代重复性工作,全面提升企业内部协同效率。其中亮点产品商企AI助手可以准确了解客户的心情、送货等诉求,并智能完成短信下发,将日常处理预约信息的效率提升80%。 针对企业智能审计,中国移动依托九天基地,打造建设了审计千人查询、审计调查、风险监测预警等核心AI产品,致力于成为 "审计特种兵,公司好卫士"。目前,风险预警模型已嵌入8万余个建设项目审计环节,主动发现风险2.5万余次,有效助力公司建设项目风险早识别、早应对、早处置。 全场景可视化监管,编织智能高效的民生安全网