例如,如果数组中的第一个插槽是2并且数组中的第二个插槽是6,那么如果传入方法的数组是,则必须在2和6之间插入3,4,5。 {2,4,8,3}该方法将返回数组{ 2 ,3, 4 ,5,6,7, 8 ,7,6,5,4, 3 }(粗体数字是原始数组中的值)。到目前为止,这就是我所拥有的,我只是想知道我是否正确地接近它。我知道我想要做什么,但我似乎无法将其放入代码而不会出现数组越界错误。请注意,我是编码的新手,我将非常感谢任何需要时间来帮助我的人。谢谢。我知道我需要知道每个元素之间的所有差异。示例{2,5}缺少3和4差异= 2.然后将差异添加到具有原始数组长度的新数组。这是我目前对这个问题的尝试。
public static int [] fillArray(int x[]){
int max_diff = x[1] - x[0];
int i, j;
int counter = 0;
for (i = 0; i < x.length; i++)
{
for (j = i + 1; j < x.length; j++)
{
if (x[j] < x[i] ){
x[i] = x[i] - x[j];
System.out.println(x[j]);
}else if(x[j] > x[i]){
}
}
}
return x;
}
答案 0 :(得分:0)
根据您提供的示例,我编写了一个将填充缺失值的程序,由于其动态大小,我使用Array
来保留缺失值而不是public class cn {
public static ArrayList<Integer> fillArray(int x[]){
ArrayList<Integer> al = new ArrayList();
for(int i=0;i<x.length-1;i++)
{
if(x[i]-x[i+1]<0)
{
for(int j=x[i];j<=x[i+1];j++)
{
if(al.size()!=0){
if((al.get(al.size()-1))==j){
//al.add(j);
}
else
al.add(j);
}
else
{
al.add(j);
}
}
}
else{
for(int j=x[i+1];j>=x[i];j--)
{
if(al.size()!=0){
if((al.get(al.size()-1))==j){
//al.add(j);
}
else
al.add(j);
}
else
{
al.add(j);
}
}
}
}
if(x[x.length-2]-x[x.length-1]<0)
{
for(int j=x[x.length-2];j<=x[x.length-1];j++)
{
//al.add(j);
if((al.get(al.size()-1))==j){
//al.add(j);
}
else
al.add(j);
}
}
else
{
for(int j=x[x.length-2];j>=x[x.length-1];j--)
{
//al.add(j);
if((al.get(al.size()-1))==j){
//al.add(j);
}
else
al.add(j);
}
}
return al;
}
public static void main(String[] args)
{
int y[]={2,4,8,3};
ArrayList<Integer> b = fillArray(y);
for(Integer c : b)
{
System.out.println(c);
}
}
}
。
from bs4 import BeautifulSoup
string = """<p>paragraph1 paragraph1 <em>paragraph1</em> paragraph1</p>
<p>paragraph2 paragraph2 paragraph2 paragraph2</p>"""
string = BeautifulSoup(string,"lxml")
string.em.unwrap()
result = string.get_text(separator = "\n")
print(result)
答案 1 :(得分:0)
这是带有方法乐趣的程序,可以使用ArrayList解决您的问题。应该做的伎俩;)
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args){
int[] abc = {2, 4, 8, 3};
Integer[] result = fun(abc);
for(Integer i : result){
System.out.print (i + " ");
}
return;
}
public static Integer[] fun(int[] abc){
List<Integer> list = new ArrayList<Integer>();
for(int i = 0; i<abc.length-1; i++){
int a1 = abc[i];
int a2 = abc[i+1];
if(a1<a2){
for(; a1<a2; a1++){
list.add(a1);
}
}else if(a1>a2){
for(; a2<a1; a1--){
list.add(a1);
}
}
}
list.add(abc[abc.length-1]);
Integer[] result = new Integer[list.size()];
result = list.toArray(result);
return result;
}
}