You are on page 1of 7

Page 227:

General Solution:
#include<stdio.h>
int main()
{
int a[10],key,n,i;
printf("enter how many values");
scanf("%d",&n);
printf("enter values for array");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("enter key value");
scanf("%d",&key);
for(i=0;i<n;i++)
{
if(a[i]>=key)
{
break;
}
}
printf("%d",i);
return 0;
}

LeetCode Solution:
int searchInsert(int* nums, int numsSize, int target){

int i;
for(i=0;i<numsSize;i++)
{
if(nums[i]>=target)
return i;
}
return numsSize;
}

Page 231:

LeetCode solution:
int search(int* nums, int numsSize, int target){
int l=0;
int u=numsSize-1;
int mid;
while(l<=u)
{
mid=l+(u-l)/2;
if(nums[mid]==target)
return mid;
else if(nums[mid]<target)
l=mid+1;
else
u=mid-1;
}
return -1;
}
Page 233: Bubble sorting
page 235:

#include<stdio.h>
int main()
{

int count[1001]={0};
int arr1[1001],arr2[1001];
int n,m,i;
printf("enter n value");
scanf("%d",&n);
printf("enter values for arr1 array");
for(i=0;i<n;i++)
scanf("%d",&arr1[i]);
printf("enter m value");
scanf("%d",&m);
printf("enter values arr2");
for(i=0;i<m;i++)
scanf("%d",&arr2[i]);
for (i=0;i<n;i++)
{
count[arr1[i]]++;
}

int index = 0, ans[n] ;


for (i=0;i<m;i++)
{
while (count[arr2[i]]-- > 0)
{
ans[index++] = arr2[i];
}
}
for ( i = 0; i < 1001; i++)
{
while (count[i]-- > 0)
{
ans[index++] = i;
}
}
for(i=0;i<n;i++)
printf("\n%d",ans[i]);
return 0;
}

Page 237:

#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>

#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[n],i;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int d,m;
scanf("%d%d",&d,&m);
int count=0,j,sum,x;
for(i=0;i<n;i++)
{
x=1;
sum=0;
j=i;
while(x<=m)
{
sum=sum+a[j];
j++;
x++;
}
if(sum==d)
count++;
}
printf("%d",count);
return 0;
}

Page 239:

#include<stdio.h>
int main()
{
int i,n,a[100],z=0,y=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]%2==0)
{
z++;
}
else
y++;
}
printf("%d %d",z, y);
return 0;
}

Page 241: Linear search program

Page 243:
#include<stdio.h>
int main()
{
int n,t;
scanf("%d%d",&n,&t);
int a[n],i;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int count=0,skip=0;
for(i=0;i<n;i++)
{
if(a[i]<=t && skip!=2)
count++;
else if(a[i]>t && skip!=2)
skip++;
}
printf("%d",count);
return 0;
}

Page 245:
Genearl Program:
#include<stdio.h>
int main()
{
int a[10],b[10],c[20];
int m,n,i,j,k;
printf("how many values in a array");
scanf("%d",&n);
printf("enter values for array a in sorted form");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("how many values in b array");
scanf("%d",&m);
printf("enter values for b array in sorted form");
for(j=0;j<m;j++)
scanf("%d",&b[j]);
i=j=k=0;
while(i<n && j<m)
{
if(a[i]<b[j])
{
c[k]=a[i];
k++;
i++;
}
else
{
c[k]=b[j];
k++;
j++;
}
}
while(i<n)
{
c[k]=a[i];
k++;
i++;
}
while(j<m)
{
c[k]=b[j];
k++;
j++;
}
int z=n+m;
printf("z=%d",z);
float mid;
if(z%2==0)
mid=( c[z/2-1]+c[z/2])/2.0;
else
mid=c[z/2];
printf("Mid is %f",mid);
return ;

page 247:

Leetcode:
int removeDuplicates(int* nums, int numsSize){
int count=1,i;
for(i=1;i<numsSize;i++)
{
if(nums[i]!=nums[i-1])
{
nums[count]=nums[i];
count++;
}
}
return count;
}
Page 249:

#include<stdio.h>
int main()
{
int n;
printf("enter n value");
scanf("%d",&n);
int arr[n],i,k,j;
printf("enter values for array");
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
printf("enter k segment value");
scanf("%d",&k);
int x;
printf("enter value to search");
scanf("%d",&x);
int search=1;
for (i = 0; i < n; i = i + k)
{
for (j = 0; j < k; j++)
if (arr[i + j] == x)
break;

if (j == k)
search=0;
}
if (i == n)
search==1;
for (j=i-k; j<n; j++)
if (arr[j] == x)
break;
if (j == n)
search=0;
if(search==1)
printf("yes");
else
printf("no");
return 0;
}
Page 251:

int main()
{
long long int n,i,j,d,temp;
scanf("%lld%lld",&n,&d);
long long int a[n];
for(i=0;i<n;i++)
scanf("%lld",&a[(i+n-d)%n]);

for(i=0;i<n;i++)
printf("%lld ",a[i]);
return 0;
}

page 253:
bool validMountainArray(int* arr, int arrSize){
int c=0;
if(arrSize<3)
return false;
c=0;
while(c<arrSize-1 && arr[c]<arr[c+1])
{
c++;
}
if(c==0 || c==arrSize-1)
return false;
while(c<arrSize-1 && arr[c]>arr[c+1])
{
c++;
}
if(c==arrSize-1)
return true;
else
return false;
}

Page 255:

General Program:
#include<stdio.h>
int main()
{
int n;
printf("enter n value");
scanf("%d",&n);
int a[n];
int i;
printf("enter values for array");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int t;
printf("enter target value to search");
scanf("%d",&t);
int search=0,l,u,mid;
l=0;
u=n-1;
while(l<=u && u>=l)
{
mid=(l+u)/2;
if(t==a[mid])
{
search=1;
break;
}
else if(t<a[mid])
u=mid-1;
else
l=mid+1;
}
if(search==1)
{
if(a[mid-1]==t)
printf("%d %d ",mid-1,mid);
else if(a[mid+1]==t)
printf("%d %d",mid,mid+1);
}
else
printf("-1 -1");
return 0;

You might also like