Longest Increasing subsequence(LIS):
Dynamic programming bottom up approach
Dynamic programming bottom up approach
import java.util.Arrays;
public class LongestIncreasingSubsequence {
public static void main(String[] args) {
int a[] = {3, 10, 2, 1, 20};
int length[] = new int[a.length];
Arrays.fill(length,1);
for (int i = 1; i < a.length; i++) {
int q= 1;
for (int j = 0; j <= i; j++) {
if (a[i]>a[j]){
if(q<=length[j]) {
q = length[j] + 1;
}
}
}
length[i]=q;
}
System.out.println(max(length));
}
public static int max(int a[]){
int max=-1;
for (int i = 0; i < a.length; i++) {
if(max<a[i]){
max=a[i];
}
}
return max;
}
}
Maximum Sum Submatrix Algorithm:
Kadane Algorithm(O(n)):
DP Bottm-up approach (O(n^2)):
Kadane Algorithm(O(n)):
public int maxSubArraySum(int[] arr) {
int maxSoFar = arr[0];
int maxEndingHere = arr[0];
for (int i = 1; i < arr.length; i++) {
maxEndingHere = Math.max(arr[i], maxEndingHere + arr[i]);
maxSoFar = Math.max(maxSoFar, maxEndingHere);
}
return maxSoFar;
}
DP Bottm-up approach (O(n^2)):
static int maxSum(int arr[]){
int dp[][] = new int[arr.length][arr.length];
for (int i = 0; i < dp.length; i++) {
dp[i][i]=arr[i];
for (int j = i+1; j < dp.length; j++) {
dp[i][j]=Math.max(arr[j],dp[i][j-1]+arr[j]);
}
}
return dp[0][arr.length-1];
}👍5🤯1🤬1
اتصال به mongodb در جاوا با استفاده از فایل کانفیگ
فایل کانفیگ :
package org.project..database;
import com.mongodb.client.*;
import org.bson.Document;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class MongoDBHandler {
private MongoClient mongoClient;
private MongoDatabase database;
private MongoCollection<Document> collection;
public MongoDBHandler(String configFilePath) {
try {
Properties properties = new Properties();
properties.load(new FileInputStream(configFilePath));
System.out.println(properties);
String host = properties.getProperty("remote_host");
int port = Integer.parseInt(properties.getProperty("remote_port"));
String dbName = properties.getProperty("remote_database");
String username = properties.getProperty("remote_user");
String password = properties.getProperty("remote_password");
String collectionName = properties.getProperty("remote_collection");
String uri = "mongodb://" + username + ":" + password + "@" + host + ":" + port + "/" + dbName;
mongoClient = MongoClients.create(uri);
database = mongoClient.getDatabase(dbName);
collection = database.getCollection(collectionName);
} catch (IOException e) {
e.printStackTrace();
}
//System.exit(0);
}
public void insertDocument(Document document) {
collection.insertOne(document);
}
public FindIterable<Document> readDocuments() {
return collection.find();
}
public long countDocuments() {
return collection.countDocuments();
}
public void updateDocument(Document query, Document update) {
collection.updateOne(query, new Document("$set", update));
}
public void deleteDocument(Document query) {
collection.deleteOne(query);
}
public MongoCollection<Document> getCollection() {
return collection;
}
}
فایل کانفیگ :
remote_host = localhost
remote_database = java
remote_user = parsa
remote_password = kav
remote_port = 27020
remote_collection = users
👍6