-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharray3.java
122 lines (108 loc) · 3.62 KB
/
array3.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import java.util.Scanner;
public class array3 {
// static void swap(int arr[],int left,int right)
// { int temp=0;
// temp=arr[left];
// arr[left]=arr[right];
// arr[right]=temp;
// }
// static void arraysorted(int arr[],int left,int right)
// {
// while(left<=right)
// {
// if(arr[left]%2!=0 && arr[right]%2==0) // two pointer approach
// {
// swap(arr,left,right);
// left++;right--;
// }
// if(arr[left]%2==0)
// {
// left++;
// }
// if(arr[right]%2==1)
// {
// right--;
// }
// }
// }
// static int[] large(int arr[],int left,int right)
// { int ans[]=new int[arr.length] ;
// int k=0;
// while(left<=right)
// {
// if(Math.abs(arr[left])>Math.abs(arr[right]))
// {
// ans[k++]=arr[left]*arr[left];
// left++;
// }
// else{
// ans[k++]=arr[right]*arr[right];
// right--;
// }
// }
// return ans;
// }
// static void printarray(int arr[],int n)
// {
// for(int i=0;i<n;i++)
// {
// System.out.println(arr[i]);
// }
// }
// public static void main(String[] args)
// {
// Scanner sc=new Scanner(System.in);
// System.out.println("enter array size");
// int n=sc.nextInt();
// int arr[]=new int[n];
// int left=0;int right=n-1;
// System.out.println("enter positive negative elements ");
// for(int i=0;i<n;i++)
// {
// arr[i]=sc.nextInt();
// }
// int ans[]=new int[n];
// // arraysorted(arr,left,right);
// ans= large(arr,left,right);
// printarray(ans,n);
// sc.close();
// }
// }
//}
static int sum=0;
static int sumarray(int arr[])
{
for(int i=0;i<arr.length;i++)
{
sum+=arr[i];
}return sum;
}
static boolean partition(int arr[],int prefix,int suffix) //prefix sum approach
{
for(int i=1;i<arr.length;i++)
{
prefix+=arr[i-1];
suffix= sum-prefix;
if(prefix==suffix)
{
return true;
}
}return false;
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("enter array size"); // 5 elements
int n=sc.nextInt();
int arr[]=new int[n]; //0 to 5 index array created
System.out.println("enter array elements ");
for(int i=0;i<n;i++)
{
arr[i]=sc.nextInt();
}
int sum=sumarray(arr);
int prefix=0;int suffix= sum;
System.out.println("ans is"+ partition(arr,prefix,suffix));
//printarray(arr,n);
sc.close();
}
}