int[]a={3,4,5,6,7}; int[]b={1,2,3,4,5,6,7}; int[] arry=new int[7]; System.out.print("数组b[]={"); for(int i=0;i<5;i++) { b[i]=a[i]*b[i]; System.out.print(+b[i]+","); } System.out.print(b[5]+","+b[6]+"}");…
package hanqi; import java.util.Scanner; public class Test7 { public static void main(String[] args) { int a[]={3,4,5,6,7}; int b[]={1,2,3,4,5,6,7}; for(int i=0;i<5 ;i++) { b[i]=a[i]*b[i]; System.out.println("b["+i+"]="+b[i]); } } }…
import java.util.Arrays; /** * Created by ccc on 16-4-27. */ public class Test { public static void main(String arg[]) { , , }; ,,,, , }; Arrays.sort(a); Arrays.sort(b); int len = a.length; ; i < len; i++) { ) { System.out.println(b[i]); } } } } Arra…
import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 21:04 * @description: * @version:$ */ /*已知一个字符串S 以及长度为n的字符数组a,编写一个函数,统计a中每个字符在字符串中的出现次数 * 要求函数用s,a,n为参数,返回值为一维整形数组*/ public class CountTimes { public static void main(Str…
转自:http://www.cnblogs.com/ranranblog/p/5845010.html 风口之下,猪都能飞.当今中国股市牛市,真可谓“错过等七年”. 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价. 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票.若两次交易机会都放弃,收益为0. 设计算法,计算你能获得的最大收益. 输入数值范围:2<=…
转自:http://blog.csdn.net/shandianling/article/details/8785269 问题描述:两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i]: 要求: 1.不准用除法运算 2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等) 3.满足时间复杂度O(n),空间复杂度O(1) #include <stdio.h> #inclu…
找出数组中出现次数超过一半的数,现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数 #include<iostream>using namespace std;int findMore(int a[],int n){ int A=a[0],B=0; for(int i=0;i<n;i++) {  if(A==a[i])   B++;  else   B--;  if(B==0)  {   A=a[i];   B=1;  }  } return A;} 电…
package com.swift; import java.util.Arrays; import java.util.Comparator; public class ArrayThread_Test { public static void main(String[] args) { /* * 已知一个数组[2,4,6,2,1,5],将该数组进行排序(降序,不能用工具类进行排序),创建两条线程交替输出排序后的数组,线程名自定义 */ Integer[] arr = new Integer[…
在看组合数学,看到逆序列这个概念.于是YY了一道题:已知逆序列,求出原序列. 例子: 元素个数 n = 8 逆序列 a={5,3,4,0,2,1,1,0} 则有原序列 p={4,8,6,2,5,1,3,7} 思路蛮简单的,但是复杂度是O(2*N*lgN)的,不知道有没有O(N)的算法. bit维护点[1,i]的所有空位置,则可以知道这个数列是单调递增的. 每一次去找满足i的逆序列ai+1的最左的空位pos(因为考虑不包括当前位置的空位数),然后更新[pos-1,n]所有空位-1(在pos处插入i…
方法一:枚举法.该方法是最容易.也是最简单的方法,枚举出数组A和数组B中所有的元素对,判断其和是否为c,如果是,则输出. 方法二:排序+二分查找法.首先,对两个数组中长度较大数组,不妨设为A,排序:然后,对于B中每个元素B[i]在A中二分查找c-B[i],如果找到,直接输出. 方法三:排序+线性扫描法.首先,对A和B进行排序:然后用指针p从头扫描A,用指针q从尾扫描B,如果A[p]+B[q]==c,则输出A[p]+B[q],且p++,q--:如果A[p]+B[q]>c,则q--:否则p++.  …