Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 15 additions & 31 deletions app/src/main/java/datastructures/DsVector.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
package datastructures;
import java.util.Collections;

import java.util.Vector;

Expand Down Expand Up @@ -40,16 +41,7 @@ public static Vector<Integer> searchVector(Vector<Integer> v, int n) {
*/
public static Vector<Integer> sortVector(Vector<Integer> v) {
Vector<Integer> ret = new Vector<Integer>(v);

for (int i = 0; i < ret.size(); i++) {
for (int j = 0; j < ret.size() - 1; j++) {
if (ret.get(j) > ret.get(j + 1)) {
int temp = ret.get(j);
ret.set(j, ret.get(j + 1));
ret.set(j + 1, temp);
}
}
}
Collections.sort(ret);
return ret;
}

Expand All @@ -60,11 +52,8 @@ public static Vector<Integer> sortVector(Vector<Integer> v) {
* @return the reversed vector
*/
public static Vector<Integer> reverseVector(Vector<Integer> v) {
Vector<Integer> ret = new Vector<Integer>();

for (int i = v.size() - 1; i >= 0; i--) {
ret.add(v.get(i));
}
Vector<Integer> ret = new Vector<Integer>(v);
Collections.reverse(ret);
return ret;
}

Expand All @@ -76,14 +65,14 @@ public static Vector<Integer> reverseVector(Vector<Integer> v) {
* @return the rotated vector
*/
public static Vector<Integer> rotateVector(Vector<Integer> v, int n) {
Vector<Integer> ret = new Vector<Integer>();

for (int i = n; i < v.size(); i++) {
ret.add(v.get(i));
}
for (int i = 0; i < n; i++) {
ret.add(v.get(i));
int size = v.size();
n = n % size;
if (n < 0) {
n += size;
}
Vector<Integer> ret = new Vector<Integer>(size);
ret.addAll(v.subList(size - n, size));
ret.addAll(v.subList(0, size - n));
return ret;
}

Expand All @@ -96,14 +85,9 @@ public static Vector<Integer> rotateVector(Vector<Integer> v, int n) {
*/
public static Vector<Integer> mergeVectors(Vector<Integer> v1,
Vector<Integer> v2) {
Vector<Integer> ret = new Vector<Integer>();

for (int i = 0; i < v1.size(); i++) {
ret.add(v1.get(i));
}
for (int i = 0; i < v2.size(); i++) {
ret.add(v2.get(i));
}
Vector<Integer> ret = new Vector<Integer>(v1.size() + v2.size());
ret.addAll(v1);
ret.addAll(v2);
return ret;
}
}
}
19 changes: 10 additions & 9 deletions app/src/main/java/strings/Strops.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,7 @@ public class Strops {
* @return The reversed string.
*/
public String reverse(String str) {
String reversed = "";
for (int i = str.length() - 1; i >= 0; i--) {
reversed += str.charAt(i);
}
return reversed;
return new StringBuilder(str).reverse().toString();
}

/**
Expand All @@ -22,16 +18,21 @@ public String reverse(String str) {
* @return True if the string is a palindrome, false otherwise.
*/
public boolean isPalindrome(String str) {
if (str.length() == 0) {
if (str.isEmpty()) {
return false;
}

for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {
int left = 0;
int right = str.length() - 1;

while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}

return true;
}
}
}
Empty file modified gradlew
100755 → 100644
Empty file.