在相邻元素相差1的数组中查找某一特定元素第一次出现的位置
2014-07-25 20:07
543 查看
题目:数组中相邻的每两个数之间的差值是1或-1,给定一个数N,求如何找到第一个N的位置。
如:3,4,3,2,1,2,3,4,3,4,5,6,5 求第一个5所在的位置。
如:3,4,3,2,1,2,3,4,3,4,5,6,5 求第一个5所在的位置。
#include <stdio.h> #include <stdlib.h> int main(void) { int a[] = {3,4,3,2,1,2,3,4,3,4,5,6,5}; int i, next, to_search; int len = sizeof(a); int count = 0, found = 0; printf("Please input the number that you want to search: "); scanf("%d",&to_search); for( i=0; i<len; i+=next) { ++count; if( a[i] == to_search ) { found = 1; break; } else next = abs(a[i]-to_search); } printf("Search times: %d\n",count); if( found ) printf("%d is at a[%d]\n",to_search, i); else printf("Not found.\n"); return 0; }
相关文章推荐
- 在相邻元素相差1的数组中查找某一特定元素第一次出现的位置(非遍历)
- 在相邻元素相差1的数组中查找某一特定元素第一次出现的位置(非遍历)
- 在相邻元素相差1的数组中查找某一特定元素第一次出现的位置(非遍历)
- 对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。
- 在排序的数组中二分查找一个元素,返回在数组中它第一次出现的位置
- [百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数
- c++在数组中查找元素并返回位置下标,统计某元素出现次数程序
- 数组A中任意两个相邻元素大小相差1,现给定这样的数组A和目标整数t,找出t在数组A中的位置。
- PHP查找数组中只出现一次的数字实现方法【查找特定元素】
- 找到一个乱序数组排序后某一特定数值首次和末次出现的位置
- [百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数。
- 找出数组中某个元素第一次出现的位置
- 在数组 arr 中,查找值与 item 相等的元素出现的所有位置
- java,查找数组中指定元素第一次出现的索引值。
- 剑指offer——面试题38:数字在排序数组中出现的次数(利用二分查找来找第一次和最后一次的位置)
- 《数据结构、算法与应用》8.(顺序查找数组中第一个出现指定元素的位置)
- Java 查找某个数字在数组中第一次和最后一次出现的位置
- 数组A中任意两个相邻元素大小相差1,在其中查找某个数。
- [置顶] 在字符串中查找一个特定的字符第一次出现的位置,并返回字符所在位置;如果没有则返回NULL。
- lastIndexOf() 找出指定元素出现的所有位置(返回的是下标数组)---lastIndexOf() 这个方法是倒叙查找,正序的是indexOf()