1. How do you reverse a linked list in Java?
fun linkedlistfun() {
var linkedList = linkedSetOf<Int>()
linkedList.add(152)
linkedList.add(33)
linkedList.add(65)
linkedList.add(89)
linkedList.remove(65)
for (i in linkedList) {
print("${i} ")
}
var l1 = linkedList.reversed()
println()
for (i in l1) {
print("${i} ")
}
}
1.Write a Kotlin program to check if a vowel is present in a string.
fun solution(str:String){
val result=str.toLowerCase().matches("(.*[aeiou].*)".toRegex())
println(result)
}
2. How do you swap two numbers without using a third variable in Kotlin?
fun swapNum(a:Int,b:Int){
var n1=a
var n2=b
n1=n1+n2
n2=n1-n2
n1=n1-n2
print("a= $n1 b=$n2")
}
1. Find most repeat number in a array.
fun findMostReptNumber(arr: IntArray){
val map= mutableMapOf<Int,Int>()
for (i in arr){
if (map.containsKey(i)){
map.put(i,map.get(i)!!+1)
} else{
map.put(i,1)
}
}
var maxRept=1
var key=0
for (i in map){
if(i.value>maxRept){
maxRept=i.value
key=i.key
}
}
println("$key :-> $maxRept")
}
Input:val input1= intArrayOf(5,2,5,1,3,4,3,5)
Output: 5->3
2.Merge 2 array in a single array.
fun mergeTwoArray(arr1:IntArray,arr2:IntArray){
var arr= arrayOf<Int>()
for (i in arr1){
arr=arr.plus(i)
}
for (i in arr2){
arr=arr.plus(i)
}
for (i in arr){
print("$i ")
}
}Input:- val input1= intArrayOf(5,2,5,1,3,4,3)val input2= intArrayOf(21,11,31,41,51)Output:-5 2 5 1 3 4 3 21 11 31 41 51
1. Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
You can return the answer in any order.
Example 1:
Input: nums = [2,7,11,15], target = 9
Can you guess the output :- [0,1]
//calling
val input = listOf(2, 11, 7,15)sumOfNum(input, 9)
fun sumOfNum(list: List<Int>, sum: Int) {
for (i in 0 until list.size) {
for (j in i + 1 until list.size) {
if (list[i] + list[j] == 9) {
println("[$i , $j]")
}
}
}
}
2. Write a Kotlin function that checks if a given string is a palindrome.
A palindrome is a word, phrase, number, or other sequences of characters
that reads the same forward and backward (ignoring spaces, punctuation, and case).
Input1:- "A man, a plan, a canal, Panama!" - true
Input2:- "Hello, Supriya" - false
private fun palindrome(str: String) {
val input=str.replace(("[ ,!]").toRegex(),"")
var result = ""
for (i in input.length - 1 downTo 0) {
result += input[i]
}
if(result.equals(input,ignoreCase = true)){
println("true")
}else{
println("false")
}
}
3. WAP to reverse string like below :
INPUT -> I LOVE APPLE AUTO
OUTPUT -> AUTO apple LOVE i
fun revStringByWord(str: String) {
val list = str.split(" ")
for (i in list.size - 1 downTo 0) {
if (i % 2 == 0) {
var k = list[i].toLowerCase()
print("$k ")
} else {
print("${list[i]} ")
}
}
}
4. Write a extension function to convert date like below:
Input :"11-22-2022".convertDateFormat("mm-dd-yyyy","yyyy-dd-mm")
Output:- 2022-22-11
fun String.convertDateFormat(original:String,output:String){
val originalFormat=SimpleDateFormat(original)
val requireFormat=SimpleDateFormat(output)
val date:Date
try{
date=originalFormat.parse(this)
val result=requireFormat.format(date)
println(result)
}catch (e:Exception){
println(e.message)
}
}
5. Write a extension function to reverse a string.
calling :
fun main() {
println("raja".rev())
}
main reverse function:
fun String.rev():String{
return this.reversed()
}
6. Write a Higher order function to check number is prome or not?
call the function from main method:
exGm(1, ::check)
val result=exGm(2, ::check)
println(result)
...............................
fun exGm(num: Int, checkPrime: (Int) -> Boolean):Boolean {
/*var result = checkPrime(num)
println(result)*/
return checkPrime(num)
}
fun check(num: Int): Boolean {
var count = 0
for (i in 2 until num) {
if (num % i == 0) {
count++
}
}
if (count > 0) {
return false
} else
return true
}
1. Palindrome in Kotlin in given integer.
fun findPalin(num: Int) {
var temp = num
var rem: Int
var sum = 0
while (temp > 0) {
rem = temp % 10
sum = sum * 10 + rem
temp /= 10
}
if (num == sum) {
println("num is Palindrome$sum")
} else {
println("not Palindrome$sum")
}
}
2. An Array of integers is given, both +ve and -ve.You need to find the two elements such
that their sum is closest to zero.
private fun findCloseNum(arr: IntArray) {
var smallestSum = arr[0] + arr[1]
var sum = 0
var l = 0
var k = 0
for (i in arr.indices) {
for (j in i+1 until arr.size) {
sum = arr[i] + arr[j]
if (abs(smallestSum.toDouble()) > abs(sum.toDouble())) {
smallestSum = sum
l = i
k = j
}
}
}
println("Result are "+arr[l] +","+arr[k])
}3.Rotated thearray list by given position Input:nums = [1,2,3,4,5,6,7], k = 3Output: [5,6,7,1,2,3,4](Rotation from right).private fun rotationNum(arr: IntArray, k: Int) {//for roated from right
val result = revUtility(arr, 0, arr.size - k - 1)
val result1 = revUtility(result, arr.size - k, arr.size - 1)//for rotate from leftarrayRev(result1)val result = revUtility(arr, 0, k-1)
val result1 = revUtility(result, k, arr.size - 1)
}private fun revUtility(arr: IntArray, l: Int, h: Int): IntArray {
var temp: Int
var l = l
var h = h
while (l < h) {
temp = arr[l]
arr[l] = arr[h]
arr[h] = temp
l++
h--
}
return arr
}private fun arrayRev(arr: IntArray) {
var temp: IntArray = intArrayOf()
for (i in arr.size - 1 downTo 0) {
temp = temp.plus(arr[i])
}
for (i in temp)
print(" $i ")
}concept : If we rotating any array from any position like rotation from positionk from right side then output will be like below:input= 1,2,3,4,5,6,7pos=1= 7,1,2,3,4,5,6pos=2= 6,7,1,2,3,4,5pos=3= 5,6,7,1,2,3,4pos=4= 4,5,6,7,1,2,3pos=5= 3,4,5,6,7,1,2rotation from position k from left side then output will be like below:input= 1,2,3,4,5,6,7pos=1= 2,3,4,5,6,7,1pos=2= 3,4,5,6,7,1,2pos=3= 4,5,6,7,1,2,3pos=4= 5,6,7,1,2,3,4pos=5= 6,7,1,2,3,4,53.Palindrome in JAVA in given String.
private fun palindromeString(str: String) {
var temp = ""
for (i in str.length - 1 downTo 0){
temp += str[i]
}
if (str.contentEquals(temp)){
println("Palindrome")
}else{
println("not Palindrome")
}
}4.Count character repetition in a given string using HashMap in kotlin.9.Check Armstrong Number in Kotlin.//Armstrong Number :-153 = 1*1*1 + 5*5*5 + 3*3*3 = 153.private fun charRept(str:String){
var map= mutableMapOf<Char,Int> ()
for (i in str){
if(map.containsKey(i)){
map.put(i,map.get(i)!!+1)
}else{
map.put(i,1)
}
}
for (k in map)
println("key=${k.key} value=${k.value}")
}5. Reverse a string.fun revStr(str:String){
for (c in str.length-1 downTo 0)
print(str[c])
}6. Check Prime number.fun checkPrime(num: Int) {
var remSum = 0
for (i in 1..num) {
if(num%i==0) {
remSum++
}
}
if (remSum>2)
println("Not PRime")
else
println("PRime")
}7. print Fibonacci serice in kotlin.private fun fibonacci(num:Int){
//0,1,1,2,3,5,8,13,21
var l=0
var k=1
var temp=0
var sum = 1
print(l)
for (i in 0..num){
print(" $sum")
sum=l+k
l=k
k=sum
}
}8.Find Dublicate Character in a given String in kotlin./emmaroopa=maofun findDubli(str:String){
var map= mutableMapOf<Char,Int>()
for (i in str){
if (map.containsKey(i)){
map.put(i,map.get(i)!!+1)
}else{
map.put(i,1)
}
}
for (k in map){
if(k.value>1){
print(" ${k.key}")
}
}
}10. Factorial in kotlin.fun checkArmstrong(num: Int) {
var rem = 0
var temp = num
var result = 0
while (temp > 0) {
rem = temp % 10
result = result + (rem * rem * rem)
temp = temp / 10
}
if (num == result)
println("Armstrong")
else
println("not Armstrong")
}
fun factorial(num: Int) {12.In a given alphanumeric string return sum of the digit 0-9 that//5!=1*2*3*4*5
var result = 1
for (i in 1..num) {
result = result * i
}
println(result)
}11.WAP in JAVA to find run length encoding if the input is// "awwwaadxxxw" then output should be :- a1w3a2d1x3w1.
fun runLengthEncoding(str: String) {
var s = str[0]
var sum = 0
var result = ""
for (i in 0..str.length - 1) {
if (str[i].equals(s)) {
sum++
}else{
result = result + s + sum
s=str[i]
sum=1
}
}
println("$result$s$sum")
}
appears in the string ignoring all other character.`13.Find peak element in an array. A peak element is an element// Ex: ac2bh3fg12mgf32 output :- 2+3+1+2+3+2 = 13
fun sumOfDigit(str:String){
var sum=0
for (i in str){
if (i.isDigit())
sum += Character.getNumericValue(i)
}
println("sum= $sum")
}
if it is not smaller than its neighbours.
// Ex:{10,80,15,2,23,90,67,120,3,134,7} output :- 80,90.120,134.
fun findPeakNum(arr:IntArray){
for (i in 1..arr.size-2) {
if (arr[i]>arr[i-1] && arr[i]>arr[i+1]){
print(" ${arr[i]}")
}
}
}
14.WAP leader in an array. An element is leader if it is greater than
its its right side of all element.
// Ex: {22,16,17,4,3,5,2} output:- 2,5,17,22.
fun leaderInArray(arr:IntArray){
var largeNum=arr[arr.size-1]
println(largeNum)
for (i in arr.size-2 downTo 0) {
if(largeNum<arr[i]){
largeNum=arr[i]
println(largeNum)
}
}
}
15.Array of 0's and 1sin random order.Segregate 0s on left side and
1s on right side of the array.Traverse array only once.
input {0,1,1,0,0,1,0,1,0,1,1}
output{0,0,0,0,0,1,1,1,1,1,1}
fun arrangeZeroOne(arr: IntArray) {
var l = 0
var r = arr.size - 1
var temp = 0
for (i in 0..arr.size - 1) {
while (l < r) {
if (arr[l] == 0) {
l++
} else if (arr[r] == 1) {
r--
} else {
temp = arr[l]
arr[l] = arr[r]
arr[r] = temp
}
}
}
for (i in arr)
print(i)
}
16.Remove adjacent occurrences of 2 same character in a string.// input "abbacca" output= a
// input = abbaca output= ca
//input = azxxzy output= ayfun removeAdjcent(str: String) {
val stack = Stack<Char>()
for (c in str){
if(!stack.isEmpty()&&stack.peek()==c){
stack.pop()
}else{
stack.push(c)
}
}
for (i in stack){
print(i)
}
}17.Given array {5,2,1,7,2,3} and another Y.Find all the pairs whose sum is Y.fun findPair(arr:IntArray,k:Int){
var sum=0
for (i in arr){
for (j in 1..arr.size-1){
sum=i+arr[j]
if(k==sum){
println("$i , ${arr[j]}")
}
}
}
}18.WAP to find second Largest from an array.//val arr = intArrayOf(3,18,2,86,90,70,1)
//output= 86fun secondLargest(arr:IntArray){
var first=arr[0]
var second=arr[0]
for (i in arr){
if(i>first){
second=first
first=i
}
}
println("$second")
}19.Check if array has duplicate elements or not?intArrayOf(12,43,2,1,5,65,5,78,1) output : Array has duplicate elementfun checkDupli(arr:IntArray){
var map= mutableMapOf<Int,Int>()
for (i in arr){
if(map.containsKey(i)){
map.put(i,map.get(i)!!+1)
}else{
map.put(i,1)
}
}
for (i in map){
if (i.value>1){
println("Array has duplicate element")
}
}
}20.Give an algorithm for finding the element which appears maximum numberof times in array.input= intArrayOf(12,43,2,1,5,12,65,5,78,12)output= Max Repeat num is 12fun findNum(arr:IntArray){
var map= mutableMapOf<Int,Int>()
for (i in arr){
if (map.containsKey(i)){
map.put(i,map.get(i)!!+1)
} else{
map.put(i,1)
}
}
var max=0
var num=0
for (i in map){
if (i.value>max){
max=i.value
num=i.key
}
}
println("Max Repeat num is $num")
}21.In array find the first element in the array which is repeated.input:- intArrayOf(12, 43, 2, 1, 5, 12, 65, 5, 78, 12)output:-First Repeated number is 12fun firstRepet(arr:IntArray){for (i in arr.indices){
for (j in i+1 until arr.size){
if (arr[i]==arr[j]){
println("First Repeated number is ${arr[i]}")
return
}
}
}
}22.Given an array of n element, find two elementsin the array such that their sum is equal to given element K.input: intArrayOf(12, 3, 2, 1, 5, 12, 4, 78, 3)output: Elements are= 3 , 3Elements are= 2 , 4 Elements are= 1 , 5fun findElement(array: IntArray,k:Int){
for (i in 0 until array.size){
for (j in i+1 until array.size){
if(array[i]+array[j]==k){
println("Elements are= ${array[i]} , ${array[j]}")
}
}
}
}23.Given a sorted array A of n element, possibly with duplicates. Find theindex of the first occurrence of a number.input:- intArrayOf(3,8,5,5,81,98)output:-first duplicate= 5fun findElement(array: IntArray) {
for (i in 0 until array.size - 1) {
if (array[i] == array[i + 1]) {
println("first duplicate= ${array[i]}")
return
}
}
}24. Binary Searchfun binarySearch(arr: IntArray, num: Int): Int {
var low = 0
var high = arr.size - 1
var mid = 0;
while (low <= high) {
mid = low + (high - low) / 2
if (num == arr[mid]) {
return mid
} else if (num > arr[mid]) {
low = mid + 1
} else {
high = mid - 1
}
}
return -1
}25.Given a sorted array of n integer that has been rotated an unknownnumber of times, find how many time array has been rotated.input:- intArrayOf(11,86,3,5,8)output: 2
fun findNoOfRotation(array: IntArray){
var num = array[0]
for (i in 0 until array.size){
if (num>array[i]){
println("Array rated by no = $i")
return
}
}
}26.Separate even and odd number in array. Put all even number firstand then odd number.input:- intArrayOf(5,2,4,8,1,3,9)output:- 8 2 4 5 1 3 9fun separateEveOdd(array: IntArray) {
var l = 0
var temp=0
var r = array.size - 1
while (l < r) {
if (isEven(array[l])) {
l++
} else if (!isEven(array[r])) {
r--
}else{
temp=array[l]
array[l]=array[r]
array[r]=temp
}
}
for (i in array){
print("$i ")
}
}
fun isEven(num: Int): Boolean {
if (num % 2 == 0) {
return true
} else {
return false
}
}
No comments:
Post a Comment