• Oct 15, 2022 •CodeCatch
0 likes • 2 views
public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode head = new ListNode(0); ListNode handler = head; while(l1 != null && l2 != null) { if (l1.val <= l2.val) { handler.next = l1; l1 = l1.next; } else { handler.next = l2; l2 = l2.next; } handler = handler.next; } if (l1 != null) { handler.next = l1; } else if (l2 != null) { handler.next = l2; } return head.next; } }
• Nov 19, 2022 •CodeCatch
0 likes • 0 views
import java.util.Arrays; public class QuickSortMain { private static int array[]; public static void sort(int[] arr) { if (arr == null || arr.length == 0) { return; } array = arr; quickSort(0, array.length-1); } private static void quickSort(int left, int right) { int i = left; int j = right; // find pivot number, we will take it as mid int pivot = array[left+(right-left)/2]; while (i <= j) { /** * In each iteration, we will increment left until we find element greater than pivot * We will decrement right until we find element less than pivot */ while (array[i] < pivot) { i++; } while (array[j] > pivot) { j--; } if (i <= j) { exchange(i, j); //move index to next position on both sides i++; j--; } } // call quickSort() method recursively if (left < j) quickSort(left, j); if (i < right) quickSort(i, right); } private static void exchange(int i, int j) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } public static void main(String a[]){ int[] input = {33,21,45,64,55,34,11,8,3,5,1}; System.out.println("Before Sorting : "); System.out.println(Arrays.toString(input)); sort(input); System.out.println("=================="); System.out.println("After Sorting : "); System.out.println(Arrays.toString(array)); } }
• Feb 1, 2022 •LeifMessinger
0 likes • 1 view
//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 } } } } } } }
0 likes • 5 views
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); }
• Feb 6, 2021 •Daedalus
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); } } } //██╗ ░█████╗░███╗░░░███╗ ██████╗░░█████╗░███████╗██████╗░░█████╗░██╗░░░░░██╗░░░██╗░██████╗ //██║ ██╔══██╗████╗░████║ ██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗██║░░░░░██║░░░██║██╔════╝ //██║ ███████║██╔████╔██║ ██║░░██║███████║█████╗░░██║░░██║███████║██║░░░░░██║░░░██║╚█████╗░ //██║ ██╔══██║██║╚██╔╝██║ ██║░░██║██╔══██║██╔══╝░░██║░░██║██╔══██║██║░░░░░██║░░░██║░╚═══██╗ //██║ ██║░░██║██║░╚═╝░██║ ██████╔╝██║░░██║███████╗██████╔╝██║░░██║███████╗╚██████╔╝██████╔╝ //╚═╝ ╚═╝░░╚═╝╚═╝░░░░░╚═╝ ╚═════╝░╚═╝░░╚═╝╚══════╝╚═════╝░╚═╝░░╚═╝╚══════╝░╚═════╝░╚═════╝░
//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"); } } }