Skip to main content

LeetCode #21: Merge Two Sorted Lists

0 likes • Oct 15, 2022
Java
Loading...
Download

More Java Posts

WordleSolver

ThiccDaddyLOAF
0 likes • Feb 1, 2022
Java
//Leif Messinger
//Solves wordle
//Needs a list of wordle words, newline separated and 5 characters each
import java.util.*;
import java.io.File;
import java.io.FileNotFoundException;
class WordleSolver {
public static void printPointer(int position){
for(int i = 0; i < position; ++i){
System.out.print(" ");
}
System.out.print("^");
}
public static void main(String[] args) throws FileNotFoundException{
if(args.length < 1) return;
File dictionary = new File(args[0]);
Scanner sc = new Scanner(dictionary);
ArrayList<String> possibleWords = new ArrayList<String>();
while(sc.hasNextLine()){
possibleWords.add(sc.nextLine());
}
Scanner input = new Scanner(System.in);
while(possibleWords.size() > 0){
//Choose a word out of the possible words
final int randomIndex = (int)(Math.random() * possibleWords.size());
String chosenWord = possibleWords.get(randomIndex);
possibleWords.remove(randomIndex);
System.out.println("Is it correct?");
for(int i = 0; i < chosenWord.length(); ++i){
System.out.println(chosenWord);
printPointer(i);
System.out.println(" y/n?");
if(input.nextLine().toLowerCase().contains("y")){
//Filter by correct character
for(int possibleWord = possibleWords.size() - 1; possibleWord >= 0; --possibleWord){ //Has to be backwards for removing entries, also has to be int not unsigned
if(possibleWords.get(possibleWord).charAt(i) != chosenWord.charAt(i)){
possibleWords.remove(possibleWord);
}
}
}
}
System.out.println("Is it misplaced?");
//Stores a count of every letter misplaced
short[] misplacedCounts = new short[('z'-'a')+1]; //Praise be the garbage collector
for(int i = 0; i < chosenWord.length(); ++i){
System.out.println(chosenWord);
printPointer(i);
System.out.println(" y/n?");
if(input.nextLine().toLowerCase().contains("y")){
//Filter to make sure there's at least as many letters as needed
++misplacedCounts[(chosenWord.charAt(i) - 'a') - 1];
for(int possibleWord = possibleWords.size() - 1; possibleWord >= 0; --possibleWord){ //Has to be backwards for removing entries, also has to be int not unsigned
int count = 0;
for(int j = 0; j < possibleWords.get(possibleWord).length(); ++j){
if(possibleWords.get(possibleWord).charAt(j) == chosenWord.charAt(i))
++count;
}
//If there's not enough of the character that we need, then we remove that from the list of possible characters
if(count < misplacedCounts[(chosenWord.charAt(i) - 'a') - 1]){
possibleWords.remove(possibleWord);
}
}
//Also filter out words where that letter doesn't belong there
for(int possibleWord = possibleWords.size() - 1; possibleWord >= 0; --possibleWord){ //Has to be backwards for removing entries, also has to be int not unsigned
if(possibleWords.get(possibleWord).charAt(i) == chosenWord.charAt(i)){
possibleWords.remove(possibleWord);
continue; //Breaks the current word and moves on in the loop
}
}
}
}
}
}
}

Add Binary Numbers

CodeCatch
0 likes • Oct 15, 2022
Java
public static String addBinary(){
// The two input Strings, containing the binary representation of the two values:
String input0 = "1010";
String input1 = "10";
// Use as radix 2 because it's binary
int number0 = Integer.parseInt(input0, 2);
int number1 = Integer.parseInt(input1, 2);
int sum = number0 + number1;
return Integer.toBinaryString(sum); //returns the answer as a binary value;
}

Random Integers -> file

CodeCatch
0 likes • Nov 19, 2022
Java
//sample code to write 100 random ints to a file, 1 per line
import java.io.PrintStream;
import java.io.IOException;
import java.io.File;
import java.util.Random;
public class WriteToFile {
public static void main(String[] args) {
try {
PrintStream writer = new PrintStream(new File("randInts.txt"));
Random r = new Random();
final int LIMIT = 100;
for (int i = 0; i < LIMIT; i++) {
writer.println(r.nextInt());
}
writer.close();
} catch (IOException e) {
System.out.println("An error occured while trying to write to the file");
}
}
}

Send Email from Java

CodeCatch
0 likes • Nov 19, 2022
Java
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
{
boolean debug = false;
//Set the host smtp address
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.example.com");
// create some properties and get the default Session
Session session = Session.getDefaultInstance(props, null);
session.setDebug(debug);
// create a message
Message msg = new MimeMessage(session);
// set the from and to address
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++)
{
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
// Optional : You can also set your custom headers in the Email if you Want
msg.addHeader("MyHeaderName", "myHeaderValue");
// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}

Factorial

CodeCatch
0 likes • Nov 19, 2022
Java
public class Factorial
{
public static void main(String[] args)
{ final int NUM_FACTS = 100;
for(int i = 0; i < NUM_FACTS; i++)
System.out.println( i + "! is " + factorial(i));
}
public static int factorial(int n)
{ int result = 1;
for(int i = 2; i <= n; i++)
result *= i;
return result;
}
}

Puzzle 1

Daedalus
0 likes • Feb 6, 2021
Java
import java.util.Scanner;
/* In Heaven, the seed is tall and the oak small / It's input vital
* "The al-Madinatian," verse 236-37
* tinyurl.com/17snqkfv
* email answer to [email protected]
**/
public class Main
{
public static void main(String args[])
{
int x = 0;
int a, c, m = 10000;
Scanner in = new Scanner(System.in);
System.out.println("Please enter a seed, maximum 3000000:");
x = in.nextInt();
System.out.println("Please input a number, maximum 29:");
a = in.nextInt();
System.out.println("Please input a number, maximum 999999:");
c = in.nextInt();
char menu = 'y';
while(menu != 'n')
{
x = (a*x + c) % m;
System.out.println("The next number is " + x + "\nWould you like another? (y/n)");
menu = in.next().charAt(0);
}
}
}
//██╗  ░█████╗░███╗░░░███╗  ██████╗░░█████╗░███████╗██████╗░░█████╗░██╗░░░░░██╗░░░██╗░██████╗
//██║  ██╔══██╗████╗░████║  ██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗██║░░░░░██║░░░██║██╔════╝
//██║  ███████║██╔████╔██║  ██║░░██║███████║█████╗░░██║░░██║███████║██║░░░░░██║░░░██║╚█████╗░
//██║  ██╔══██║██║╚██╔╝██║  ██║░░██║██╔══██║██╔══╝░░██║░░██║██╔══██║██║░░░░░██║░░░██║░╚═══██╗
//██║  ██║░░██║██║░╚═╝░██║  ██████╔╝██║░░██║███████╗██████╔╝██║░░██║███████╗╚██████╔╝██████╔╝
//╚═╝  ╚═╝░░╚═╝╚═╝░░░░░╚═╝  ╚═════╝░╚═╝░░╚═╝╚══════╝╚═════╝░╚═╝░░╚═╝╚══════╝░╚═════╝░╚═════╝░