卧式纯绿 2023-07-09 16:27 采纳率: 26.9%
浏览 26

进行算法练习时遇到的问题

提问:给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0
下面是我的做法:

img

img

大概思路就是slow指针和fast指针形成一把尺子 不断伸缩
不知道哪里有错误

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-09 18:24
    关注
    • 这篇博客: 【C语言】给定一个n个元素有序的(升序)整型数组nums 和一个目标值target,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1中的 代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • #include <stdio.h>
      int search(int* nums,int size,int target);
      
      int main()
      {
          int num[10]={};
          int i=0,j=0,S=0,K=0;
          printf("please input number!\n");
          for(i=0;i<10;i++)
          {
              scanf("%d",&num[i]);
          }
          for(j=0;j<10;j++)
          {
                  printf("num is %d\n",num[j]);
          }
          K=sizeof(num)/sizeof(int)-1;
          S=search(num,K,22);
      
          printf("K is %d\n",K);
          if(S==-1)
              printf("sorry,the target is not in num ");
          else if(S==0)
              printf("error");
          else
              printf("the target of num is %d",S);
      	return 0;
      }
      
      int search(int* nums,int size,int target)     
      {
          int left=0;    
          int right=size;
          int mid=1;
          while(1)
          {
              if(nums[left]>nums[right])
              return 0;
              
              if(target>nums[right]||target<nums[left])
               return -1; 
              mid=left+(right-left+1)/2;
              if(nums[mid]>target)
              {
                  right=mid-1;
              }
              else if(nums[mid]<target)
              {
                  left=mid+1;
              }
              else if(nums[mid]=target)
                  return nums[mid];
          }
          
      }
      
    评论

报告相同问题?

问题事件

  • 创建了问题 7月9日

悬赏问题

  • ¥15 CATIA有些零件打开直接单机确定终止
  • ¥15 请问有会的吗,用MATLAB做
  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 ARIMA模型时间序列预测用pathon解决
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址