方法一:使用正则表达式

输入示例1
6
1 2 3 4 5 6
3
输出示例1:
2 2

输入2:
7
1 2 3 3 3 5 6 7
3
输出2:
2 4

输入3:
6
1 2 3 4 5 6
9
输出3:
-1 -1

import re
import sys
def get_index():"""输入三个数据:首先是数组的长度;然后就是对应长度的数组,该数组从小到大排列;然后就是要寻找的数字输入:如果找不到对应数字,那么输出: -1 -1 ,如果找到对应的数字,那么输出对应数字的下标:return:如果要寻找的数字在数组里面,则输出该数字的起始下标和结束下标,如果该数字不在数组里面,则输入 -1 -1"""length = sys.stdin.readline().strip()arr = sys.stdin.readline().strip().split()char = sys.stdin.readline().strip()string = "".join(arr)regex = re.compile(char+"+")match = regex.search(string)if match:a, b = match.span()print(a,b-1)else:print(-1, -1)get_index()

方法二:循环遍历

import sysdef search():lenth = int(sys.stdin.readline().strip())arr = [int(x) for x in  sys.stdin.readline().strip().split()]num =  int(sys.stdin.readline().strip())index1 = -1count = 0i = 0while i <lenth:if arr[i] == num:j = i+1while j < lenth :if arr[j]==num:count +=1j+=1index1 = ibreaki += 1if index1 == -1:print(-1, -1)else:print(index1,index1+count )
search()

在有序数组中,寻找指定连续数字的起始下标和结束下标相关推荐

  1. 牛客题霸 [在转动过的有序数组中寻找目标值] C++题解/答案

    牛客题霸 [在转动过的有序数组中寻找目标值] C++题解/答案 题目描述 给出一个转动过的有序数组,你事先不知道该数组转动了多少 (例如,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2) ...

  2. 算法:数组中寻找两个数字的和等于固定值

    数组中寻找两个数字的和等于固定值 下面为实现思路及代码 codes. // 思路 // 先进后出 两端逼近 // for example x + y = z 前置条件:z的值固定 // 故x固定 则y ...

  3. 常考数据结构与算法:在转动过的有序数组中寻找目标值

    题目描述 给出一个转动过的有序数组,你事先不知道该数组转动了多少 (例如,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2). 在数组中搜索给出的目标值,如果能在数组中找到,返回它的索引, ...

  4. 折半查找并插入(在一个有序数组中通过二分查找数字,若存在,指出其是数组中第几个元素;反之插入数组并有序化)

    import java.util.Arrays; import java.util.Scanner;/*** 折半查找(二分查找):从中间找(数组默认排好序了)* @author Family hap ...

  5. 多种思路删除数组中的指定元素

    目录 每日一题:序列中删除指定数字                                                        ----来自牛客网BC124 一.首先咱们看看题目及示 ...

  6. 数组系列—连续数中寻找缺失的数字

    连续数中寻找缺失的数字 通过散列表实现: public static void find(int[] array){Hashtable<Integer,Integer> hasht=new ...

  7. 数据结构与算法--有序数组中找出和为s的两个数字

    有序数组中找和为s的两个数字 题目:输入一个递增排序的数组array, 和一个数字s, 在数组中找出两个数,使得这两个数的和是s,如果有多对,输出一对即可. 最简单方案 双循环,每次获取一个数据,和数 ...

  8. 有序数组中查找数字的范围

    有序数组中查找数字的范围 如题所示: 思路 源代码如下: 如题所示: 统计一个数字在排序数组中出现的次数 思路 使用二分查找,分别找到数字的下边界和上边界 源代码如下: class Solution ...

  9. 快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值

    我觉得写得很清晰,希望没有侵犯作者的著作权,原文地址http://blog.csdn.net/hackbuteer1/article/details/6699642 快速找出一个数组中的两个数字,让这 ...

最新文章

  1. Docker入门简介
  2. 填谷式无源pfc电路_有源PFC电路上各个元件的作用-安泰维修
  3. 【抓包工具】HttpWatch(功能详细介绍)
  4. python——面向对象相关
  5. (王道408考研数据结构)第六章图-第四节1:最小生成树之普利姆算法(思想、代码、演示、答题规范)
  6. rabbitmq-server 安装方法
  7. JavaScript-this指向问题
  8. 汉诺塔 --- 递归的经典运用
  9. pyspark分类算法之逻辑回归模型实践【binomialLogisticRegression+multinomialLogisticRegression】
  10. mem考试能用计算机吗,分享自己MEM考试经验
  11. Meta:多人联机VR游戏这样拉新
  12. Python-pygsheets模块(读写Google谷歌文档)
  13. (原創) 一個關於C語言字串有趣的小題目 (C/C++) (C)
  14. 6.5 Introduce Explaining Variable 引入解释性变量
  15. 怎样才算通用人工智能?
  16. position: sticky 属性
  17. 家庭居室装修需做哪些项目
  18. JavaScript:利用JavaScript实现的功能、算法和奇淫技巧(持续更新)
  19. VUE 百度离线地图的下载与使用
  20. npm ERR! code ERESOLVEnpm ERR! ERESOLVE could not resolvenpm ERR! npm ERR! While resolving: @vue/

热门文章

  1. dataframe按照某一列的取值进行拆分
  2. 关于ESM Flag问题
  3. RSS阅读器简单介绍
  4. 感受Google的汉英翻译能力
  5. 软件安全学习笔记(7):PE文件总体格式
  6. 阿里云服务器如何使用并且后续能干嘛
  7. 大学物理-相对论笔记
  8. mysql 本日、本周、本月、本年 统计
  9. JavaScript(六)
  10. 影视站长必备资料合集