精华内容
下载资源
问答
  • 查找一个等于一组数中哪些相加的和 例如: 1, 2, 3, 4, 5, 6, 7 找出和为5的, 即2, 3 public class AccumulationUtil { private AccumulationUtil(){} private static final Logger logger = ...

    实现需求:

    查找一个数等于一组数中哪些数相加的和

    例如: 从1, 2, 3, 4, 5, 6, 7 中找出和为5的数, 即2, 3

    public class AccumulationUtil {
    
        private AccumulationUtil(){}
    
        private static final Logger logger = LoggerFactory.getLogger(AccumulationUtil.class);
    
        public static void main(String[] args) {
            long temp[] = {1L, 2L, 3L, 4L, 5L, 6L, 7L};
            List<Long> newList = getNewList(temp, 5);
            System.out.println(newList);
        }
    
        /**
         * 查找一个数等于一组数中哪些数相加的和
         * @param keys
         * @param target
         * @return
         */
        public static List<Long> getNewList(long[] keys, long target) {
            int n = keys.length;
            int nbit = 1 << n;
            long in;
            List<Long> list = new ArrayList<>();
            for (int i = 0; i < nbit; i++) {
                in = 0;
                list.clear();
                for (int j = 0; j < n; j++) {
                    int tmp = 1 << j; // 由0到n右移位
                    if ((tmp & i) != 0) { // 与运算,同为1时才会是1
                        in += keys[j];
                        list.add(keys[j]);
                    }
                }
                if (in == target){
                    return list;
                }
            }
            return Collections.emptyList();
        }
    }
    展开全文
  • 查找一组数中的最大、最小值 /** * 查找一组数中的最大 * @param nums 数组指针 * @param step sizeof(type) * @param n 该组数中有几个 * @return 未找到返回-1,找到返回该的索引 */ int findMax...

    查找一组数中的最大、最小值


    
    /**
     * 查找一组数中的最大数
     * @param  nums 数组指针
     * @param  step sizeof(type)
     * @param  n    该组数中有几个数
     * @return      未找到返回-1,找到返回该数的索引
     */
    int findMax(const void *nums, int step, int n)
    {
        int index = -1;
        uint32_t i = 0;
        uint32_t maxVal = 0;
        uint8_t *p = (uint8_t *)nums;
        uint32_t tmp = 0;
    
        if(step == 1)
            maxVal = *((uint8_t *)(p));
        else if(step == 2)
            maxVal = *((uint16_t *)(p));
        else if(step == 4)
            maxVal = *((uint32_t *)(p));
        else
            return index;
    
        for(i = 0; i != n; i++)
        {
            if(step == 1)
                tmp = *((uint8_t *)(p + i * step));
            else if(step == 2)
                tmp = *((uint16_t *)(p + i * step));
            else if(step == 4)
                tmp = *((uint32_t *)(p + i * step));
            else
                return -1;
    
            if(maxVal < tmp)
            {
                maxVal = tmp;
                index = i;
            }
        }
        return index;
    }
    
    /**
     * 查找到一组数中的最小数
     * @param  nums 数组指针
     * @param  step sizeof(type)
     * @param  n    该数组有几个数
     * @return      未找到返回-1,找到返回该值索引
     */
    int findMin(const void *nums, int step, int n)
    {
        int index = -1;
        uint32_t i = 0;
        uint32_t minVal = 0;
        uint8_t *p = (uint8_t *)nums;
        uint32_t tmp = 0;
    
        if(step == 1)
            minVal = *((uint8_t *)(p));
        else if(step == 2)
            minVal = *((uint16_t *)(p));
        else if(step == 4)
            minVal = *((uint32_t *)(p));
        else
            return index;
    
        for(i = 0; i != n; i++)
        {
            if(step == 1)
                tmp = *((uint8_t *)(p + i * step));
            else if(step == 2)
                tmp = *((uint16_t *)(p + i * step));
            else if(step == 4)
                tmp = *((uint32_t *)(p + i * step));
            else
                return -1;
    
            if(minVal >= tmp)
            {
                minVal = tmp;
                index = i;
            }
        }
        return index;
    }
    
    

    在这里插入图片描述

    展开全文
  • C语言实现查找一组数中的众数

    千次阅读 2019-01-02 11:32:23
    步  将无序数组排序 第二步  排好序的数组找出连续相等最多的那个数字   比如:已排好序的数组如{1,3,3,3,3,7,9,23}  就找出连续相等次数最多的数字3 #include &lt;stdio.h&gt; /*交换两个...

     实现思路

    第一步

        将无序数组排序

    第二步

        排好序的数组找出连续相等最多的那个数字 

        比如:已排好序的数组如{1,3,3,3,3,7,9,23}

        就找出连续相等次数最多的数字3

    #include <stdio.h>
    
    /*交换两个整数的值*/
    void swap(int *p, int *q)
    {
        int buf;
    	
        buf = *p;
        *p = *q;
        *q = buf;
    	
        return;
    }
    /*快速排序*/
    void quick_sort(int *a, int low, int high)
    {
        int i = low;
        int j = high;
        int key = a[low];
        if (low >= high)  //如果low >= high说明排序结束了
        {
            return ;
        }
        while (low < high)  //该while循环结束一次表示比较了一轮
        {
            while (low < high && key <= a[high])
            {
                --high;  //向前寻找
            }
            if (key > a[high])
            {
                swap(&a[low], &a[high]);
                ++low;
            }
            while (low < high && key >= a[low])
            {
                ++low;  //向后寻找
            }
            if (key < a[low])
            {
                swap(&a[low], &a[high]);
                --high;
            }
        }
        quick_sort(a, i, low-1);  //用同样的方式对分出来的左边的部分进行同上的做法
        quick_sort(a, low+1, j);  //用同样的方式对分出来的右边的部分进行同上的做法
    }
    /*查找一个有序数组中的众数*/
    int find_mode_number(int *arr,int len)
    {
    	int many = 1,less = 1;
    	int value = 0;
     	for(int i = 0;i < len;i++){
    		for(int j = i;j < len;j++)
    		{
    			if(arr[j] == arr[j+1]){
    				less++;
    			} else {
    				if(many < less){
    					swap(&many,&less);
    					value = arr[j];
    			 	}
    				less = 1;
    				break;
    			}		
    		}
    	}
    	 
    	 return value;
     }
    
    /*主函数*/
    int main()
    {
    	int arr[] = {3,1,5,5,5,6,77,77,77,77,77,9,9,9,9,9,9,9,9};
    
    	quick_sort(arr, 0, sizeof(arr)/sizeof(int)-1);//排序
    
    	int count = find_mode_number(arr, sizeof(arr)/sizeof(int));//查找众数
    	printf("%d\n",count);
    	return 0;
    }
    

     

    展开全文
  • import java.util.ArrayList; import java.util.List; public class sum { public static List list = new ArrayList(); public static void main(String[] args) { double[] keys = { 1, 2, 3, 4
    import java.util.ArrayList;
    import java.util.List;
    
    public class sum {
        public static List<Double> list = new ArrayList<Double>();
    
        public static void main(String[] args) {
            double[] keys = { 1, 2, 3, 4, 5, 6, 7, 121, 154, 156465, 154, 0.05,
                    4564, 1564, 121, 11 };
            System.err.println(getNum(keys, 11.05));
        }
    
        static List<Double> getNum(double[] keys, double kill) {
            int n = keys.length;
            int nbit = 1 << n;
            double in;
            List<Double> list = new ArrayList<Double>();
            for (int i = 0; i < nbit; i++) {
                in = 0;
                list.clear();
                for (int j = 0; j < n; j++) {
                    int tmp = 1 << j; // 由0到n右移位
                    if ((tmp & i) != 0) { // 与运算,同为1时才会是1
                        in += keys[j];
                        list.add(keys[j]);
                    }
                }
                if (in == kill)
                    return list;
            }
            return list;
        }
    
    }
    
    展开全文
  • import java.util.Scanner;public class HomeWork02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in);... //先接收一组数字例如3216554684651454644 int [] arr =...
  • MySQL查询一组数据的众数和

    千次阅读 2019-03-05 14:00:41
    查询一组数据的众数: 方法1:仅适用于一组数据只有一个众数的情况 1)首先对数据按照值的不同进行分组,并对每组数据进行计数,再根据计数的大小进行降序排序; 2)上述1)结果集的第一行即要求取的众数...
  • * 使用折半查找,来查找一 * * @param arr 数组 * @param len 数组的长度 * @param key 要查找 * * @return 要查找的位置,如果查找不到返回 -1 */ int searchItem(int arr[], int len,...
  • 从一组数据中找到指定的单条数据的方法在一般情况下,我们会要求后端在列表的时候输出一堆列表的JSON数据给我们,然后我们把这堆数据循环,就能在前端上显示列表了.而我们在内容页的时候,则要求输出一个内容页的JSON...
  • 今天就来学习一下在一组有序数据中如何快速查找一个。也就是我们所说的二分查找,虽然很多小伙伴对二分查找很熟悉,但是到了真正的应用问题上,还是不能更好的来把握二分的思想。要想把这部分把握好,还需要真正的...
  • Excel快速查找数据中缺少的数据

    千次阅读 2020-07-08 14:45:39
    案例:有一组数据排序1到35,其中被删掉了5个数据,如何快速把这5个丢失数据造出来? 答:用VLOOKUP函数可以快速查找出来 A列是原始不齐数据 B列是参照判断 C列是正确顺序数据 D列是判断结果 在D1输入=VLOOKUP...
  • java 查找数组缺失的数据

    千次阅读 2013-11-19 16:33:36
    题目:有一组数字,1到n,其中减少了x个,顺序也被打乱,放在一个n-x的数组里,请找出丢失的数字。 思路:声明一个新的长度是n+1的数组toolsArray, 然后遍历被打乱顺序且缺失数字的数组src,比如src遍历到的...
  • 一组数据怎样判断一组数据中波动比较大的点,找出他们的位置,如图中红色标记线所示![图片说明](https://img-ask.csdn.net/upload/201504/29/1430275543_430846.png)
  • 查找,就是根据给定的某个值在一组记录集合确定某个“特定的”数据元素(记录)或者找到属性值符合特定条件的某些记录。 查找表是由同一类型的数据元素(或记录)构成的集合。 关键字:是数据元素(或记录)某个...
  •  * 查找出最接近目标值的,并返回。  * @param array  * @param targetNum  * @return  */ public static Integer binarysearchKey(Object[] array, int targetNum) { Arrays.sort(array); int ...
  • 数据结构实践项目——查找

    千次阅读 2015-11-23 15:08:40
    本文是[数据结构基础系列(8):查找]课程的第一组实践项目。本文针对: 0801 查找问题导学 0802 线性表的顺序查找 0803 线性表的折半查找 0804 索引存储结构 0805 分块查找 0806 二叉排序树 0807 二叉排序树...
  • 问题:有个升序排列无重复数字的数据,以及个数字,利用二分法查找数字在数组的位置,找到则返回其位置号,没找到返回-1. 解答: 通过两种方式实现:第种方式为递归实现,需要传递数组的头和尾的位置。 ...
  • Oracle中查找列有相同值的数据

    千次阅读 2019-06-17 20:15:39
    应用场景:比如初始化数据时,手动insert数据,ID使用sys_guid()自动生成,不小心多插入了相同的数据,但是这两条数据的id却不一样,但是我们只需要数据,这时需要查找出是那几条数据相同,需要寻找记录有...
  • #include int main() { int b,c,j; int a[10]={0,20,30,2,8,100,77,4,9,88}; printf("请输入0,20,30,2,8,100,77,4,9,88:\n"); scanf("%d",&b); for(j=0;j;j++) { if(a[j]==
  • 数据结构之查找

    千次阅读 2018-11-12 18:30:57
    唉,小小的抱怨一下,不过,我这两个词联想到了一门基础但是要精通又不简单的学问,就是查找,然后还有前天被面试官问到的查找题,题目很简单,如何查找单向链表倒数第K个?当然你先遍历...
  • 问题描述:json数组查找出满足指定定条件的数据。 解决方法:【filter()】 var employeesData = [ { name: "王小明", mobile: "13900008789" }, { name: "陈霞", mobile: "13900008789" }, { name: ...
  •   问题:给出堆大批量数据(比如10亿),如何从中快速查找出前N个最大值?   解决方案:采用最小堆的形式。先取出N个数据生成最小堆,然后再取出后面的值依次与堆顶比较,比堆顶小,则继续;比堆顶大,则交换...
  • sql语句查找记录的连续数据

    千次阅读 2016-12-19 20:20:32
    条sql语句查找记录的连续数据
  • 数据结构顺序表的相关查找算法

    千次阅读 2016-10-08 16:13:36
    今天给大家带来的是相关数据结构的查找算法,相信读过前几篇相关数据结构构建的读者应该能体会到两种常用数据结构的相关基础知识。 查找算法的基础就需要数据结构的支撑,很显然,我们需要掌握的是顺序表和动态链表...
  • 公司内部某个部门要进行员工的工作效率的记录,但是要求通过EXCEL进行录入,最后算出综合效率,显示到另外个表。 条件: 1、手动录入日期、工号、品番、工时、数量。员工姓名:通过VLOOKUP找工号获得。 2...
  • 键盘任意输入10个整数存入个数组,然后任意输入个整数x,采用顺序查找法,在数组中查找,如果找到,则函数返回该在数组的下标位置,并在主函数打印该值;如果没有找到,则返回-1,并在主函数...
  • ------ 本文是学习算法的笔记,《数据结构与算法之美》,极客时间的课程 ------ 前面讲过MySQL数据库索引实现原理,底层是依赖B+树这种数据结构来实现的。那类似Redisp 这要的Key-Value数据库的索引,又是怎么实现...
  • 怎么利用vb里的循环算法实现对数组重复数据查找的判别?怎么判断重复的数据的哪个是待查数据
  • 先利用数组的sort方法对数组的进行排序(我在这里采用升序的方式(return b-a;就是实现数组的降序)),然后排序后的数组首尾肯定是最小值和最大值。var ary = [12,13,5,18,30,24]; ary.sort(function(a,b){ ...
  • find() 方法为数组中的每个元素都调用次函数执行: 当数组的元素在测试条件时返回true时, find() 返回符合条件的元素,之后的值不会再调用执行函数。 如果没有符合条件的元素返回 undefined 注意:find() 对于...
  • 2、有15个存放在个数组,输入,要求查找是数组第几个元素的值。如果该不在数组,则输出“无此”。 #include&lt;stdio.h&gt; int main() { int a[15]; int i,j; printf("...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 712,276
精华内容 284,910
关键字:

从一组数中查找数据