public static void testNumber(int[] arr) { int max = arr[0]; int min = arr[0]; int avg = 0; int sum = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; } if (arr[i] < min) { min = arr[i]; } sum += arr[i]; } avg = sum / a…
Easy303 Easy633 package easy; public class e303 { private int[] sums; public e303(int[] nums) { sums = new int[nums.length+1]; for (int i = 0; i < nums.length; i++) sums[i+1] = sums[i] + nums[i]; } public int sumRange(int i, int j) { return sums[j+1]…
#include <stdio.h> int main(void) { /* 选择排序算法 原理:从数组中 找出最小的元素然后交换位置: */ int a[10] = {9,5,10,7,2,3,1,6,8,4}; int i=0,j=0; int n = sizeof(a)/4; //外循环n-1轮 for(i=0;i<n-1;i++){ int pos = i;//始终指向最小的位置 for(j=i+1;j<n;j++){ if(a[j]<a[pos]){ pos = j…
首先先上LeetCode今天的每日一题(面试题51. 数组中的逆序对): 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. //输入: [7,5,6,4] //输出: 5 示例1 由于题目中已经给出数组长度为: 0 <= 数组长度 <= 50000, 所以如果单纯使用两个for循环(时间复杂度为 $O\left ( n^{2} \right )$ 暴力求解的话是一定会超时的. 在这里可以使用归并排序,并同时得出逆序对的…
题目 给出一个数组,找出K个最小的值 例如给出数组{5,2,4,3,1},给定K值3,则输出结果为{2,3,1} 程序 先给出第一个版本的程序 public static void printKNum(int[] source, int k) {//算法入口 if (k <= 0) { System.out.println("请出入合法的K值"); } else if (source.length <= k) {//如果数组的长度小于等于K,则全部输出 System.out…
例如:[3, 3, 2, 2, 2, 4, 3, 5, 4, 6, 3]=>2,2,2,4;4,6 结果为2     [3, 3, 2,3, 2, 2, 4, 3, 5, 4, 6, 3]=>2;2,2,4;4,6 结果为3 实现思路: 将数组取余转换为01数组[3, 3, 2, 2, 2, 4, 3, 5, 4, 6, 3]=>[1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1] 算出连续为0的个数就是偶数列的个数 , , , , , , , , , , }; int[]…
题目描述: Given an integer array with even length, where different numbers in this array represent different kinds of candies. Each number means one candy of the corresponding kind. You need to distribute these candies equally in number to brother and si…
unsigned int str_num(char *str[], int num[], int len) { int i, j; int count; int flag[len]; ; i < len; i++) { num[i] = ; flag[i] = ; } ; i < len; i ++) { ; j <= len; j ++) { == flag[i])&& ( == strncmp(str[j], str[i], strlen(str[j]) > s…
首先讲一个最笨的算法:时间复杂度为N  空间复杂度为N 代码如下:输出结果id=3完全正确: int[] a = new int[] { 1, 1, 2, 2, 3, 4, 4 }; Dictionary<int, int> dic = new Dictionary<int, int>() { }; for (int i = 0; i < a.Length; i++) { if(dic.Keys.Contains(a[i])) { dic[a[i]]++; } else {…
1.查询最大值 var maxValue=Math.max.apply(Math,array); 2.查询最小值 var minValue=Math.min.apply(Math,array);…