串珠子

/*
    小红想买一些珠子做手工
    店家不能拆开卖
    判断某串珠子是否包含了全部自己想要的珠子
    如果是————输出yes    告诉她有多少多余的珠子
    如果不是————输出no    告诉她缺了多少珠子
*/
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		char[] sales = sc.nextLine().toCharArray();
		char[] bought = sc.nextLine().toCharArray();
		sc.close();

		Arrays.sort(sales);
		Arrays.sort(bought);

		int debt = 0;
		for (int i = 0, j = 0; j < bought.length;) {
			if (i != sales.length) {

				if (sales[i] == bought[j]) {
					i++;
					j++;
				} else if (sales[i] > bought[j]) {
					j++;
					debt++;
				} else {
					// sales[i] < bought[j];
					i++;

					if (i == sales.length) {
						debt += sales.length - i;
					}
				}
			} else {
				debt += bought.length - j;
				break;
			}
		}

		if (debt == 0) {
			System.out.println("Yes " + (sales.length - bought.length));
		} else {
			System.out.println("No " + debt);
		}
	}
}

发布了120 篇原创文章 · 获赞 37 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Zhengxinyu666/article/details/98471936