Bài đăng

Xâu đối xứng n phần tử

/*  * To change this license header, choose License Headers in Project Properties.  * To change this template file, choose Tools | Templates  * and open the template in the editor.  */ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; /**  *  * @author Le Thi Tuyet  */ public class Solution {     /**      * @param args the command line arguments      */         public static void main(String[] args) throws FileNotFoundException {         // TODO code application logic here         System.setIn(new FileInputStream("input.txt"));         int testcase = 1;                 Scanner sc = new Scanner(System.in);         for(int i=0; i<testcase; i++){             String s = sc.ne...

Xâu đối xứng

/*  * To change this license header, choose License Headers in Project Properties.  * To change this template file, choose Tools | Templates  * and open the template in the editor.  */ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; /**  *  * @author Le Thi Tuyet  */ public class Solution {     /**      * @param args the command line arguments      */         public static void main(String[] args) throws FileNotFoundException {         // TODO code application logic here         System.setIn(new FileInputStream("input.txt"));         int testcase = 2;                 Scanner sc = new Scanner(System.in);         for(int i=0; i<testcase; i++){             String s = sc.ne...

Dịch xâu k lần

package ArrayProcessing; public class Mang { static void print(int []array) { int len = array.length; for(int i=0; i<len; i++) { System.out.print(array[i]+" "); } System.out.println(); } static int[] dich(int []array, int solanxoay) { int len = array.length; int luu = 0; for(int i=0; i<len; i++) { if(i==0) luu = array[i]; array[i]=array[(i+solanxoay)%len]; } array[len-1]=luu; return array; } public static void main(String[] args) { // int []a = {1,2,3,4,1}; // print(a); // for(int i=0; i<4; i++) { // print(dich(a,1)); // } } }

Stack-Biểu thức đúng

package ArrayProcessing; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; public class MyStack { private int maxSize;    private char[] stackArray;    private int top;    public MyStack(int s) {       maxSize = s;       stackArray = new char[maxSize];       top = -1;    }    public void push(char j) {       stackArray[++top] = j;    }    public char pop() {       return stackArray[top--];    }      public boolean isEmpty() {       return (top == -1);    }    static int check(String s) {    MyStack myStack = new MyStack(10);    int kt = 0;      for(int i=0; i<s.length(); i++) {     if(s.charAt(i)=='{' || s.charAt(i)=='[' || s.charAt(i)...

Bản note kiến thức-Natural Language Processing( Các khái niệm cơ bản)

Hình ảnh
Các khái niệm cơ bản mình thấy thú vị trong quá trình làm NLP: 1. Tokenizer:         - Tách ra words hoặc sentences. 2. Stemming:        -Biến đổi các từ về dạng nguyên gốc bằng cách bỏ những kí tự cuối        VD: walks -> walk, goes->goe tuy nhiên đây cũng chính là nhược điểm của stemming vì gốc goes là go chứ đâu phải goe 3. Lemmatization:       - Thông minh hơn Stemming vì dựa trên bộ từ điển       VD:goes, went->go

Nhận dạng chữ cái viết tay

Chào các bạn , blog hôm nay là màn mở đầu cho một năm 2019 của mình. Chẳng là những ngày cuối 2018 hứng khởi xem mấy bài trên Viblo của bạn cùng lớp thấy hay quá nên thử làm luôn. Đó là bài Chấm thi tự động bằng Opencv và Deep Learning, các bạn có thể xem tại ĐÂY . Blog này mình muốn đề cập đến phần tạo model bằng CNN để nhận diện các đáp án( A, B, C, D). Nếu các bạn muốn phạm vi nhận diện lớn hơn, đừng lo lắng vì việc tạo model vẫn tương tự như vậy thôi.😁 Nếu bạn nào đã ghé thăm blog "Mnist Digit" của mình thì thấy nó hoàn toàn giống nhau nhé 😀 Về dataset thì mình lấy bộ A-Z handwritten của Kaggle khá là lớn.  Dataset 26 class mỗi dòng đại diện cho một hình ảnh chữ cái size 28x28, trong đó Col đầu tiên là nhãn cho sample, tiếp tục 784 col sau là giá trị pixel của hình ảnh đã được trải phẳng( flatten) 56080 dòng đầu tiên là dữ liệu cho 4 class A, B, C, D Source code: mình để epoch = 6 chạy cho nhanh và kết quả khá ổn(99,87%)  nên cũng chưa thử tăng epoch lên ...

1000 queens using Java under 30s

import java.util.ArrayList; import java.util.Collections; import java.util.Random; public class NQEEN {     static final int N=1000;     static Random rand = new Random();         // i=col, get(i) = row     //h - so cap doi gay nguy hien cho nhau     //cung dong: get(i) = get(j)     //duong cheo song song duong cheo chinh: get(i)-i = get(j)-j     //song song duong cheo phu: get(i)+i = get(j)+j     static int get_h_cost(ArrayList <Integer>board){         int h = 0;         for(int i=0; i<board.size(); i++){             for(int j=i+1; j<board.size(); j++){                 if((board.get(i) - i == board.get(j) - j) || (board.get(i) + i == board.get(j) + j))                     h ++;         ...