随笔分类 -  数据结构与算法

摘要:卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接 阅读全文
posted @ 2021-11-19 14:27 黯渊 阅读(51) 评论(0) 推荐(0)
摘要:读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ... 第 n+1 行:第 阅读全文
posted @ 2021-11-18 16:25 黯渊 阅读(46) 评论(0) 推荐(0)
摘要:“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。 得到“答案正确”的条件是: 字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符; 任意形如 xPATx 的字符串都 阅读全文
posted @ 2021-11-18 16:08 黯渊 阅读(79) 评论(0) 推荐(0)
摘要:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例 阅读全文
posted @ 2021-11-17 16:28 黯渊 阅读(38) 评论(0) 推荐(0)
摘要:卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题 阅读全文
posted @ 2021-11-17 16:10 黯渊 阅读(60) 评论(0) 推荐(0)
摘要:public class 求小和 { public static void main(String[] args) { int arr[] = {1,3,4,2,5}; System.out.println(smallSum(arr)); for(int a:arr){ System.out.pri 阅读全文
posted @ 2021-11-06 16:41 黯渊
摘要:来自视频学习:https://www.bilibili.com/video/BV13g41157hK?p=3 阅读全文
posted @ 2021-11-06 14:43 黯渊
摘要:public class 归并排序 { public static void main(String[] args) { int arr[] = {1,5,9,7,5,3,2,6,4,8}; mergeSort(arr); for(int a:arr){ System.out.print(a+" " 阅读全文
posted @ 2021-11-06 14:38 黯渊 阅读(34) 评论(0) 推荐(0)
摘要:public class Test { public static void main(String[] args) { int arr[] = {1,5,9,7,5,3,2,6,4,8}; System.out.println(getMax(arr)); } public static int g 阅读全文
posted @ 2021-11-06 10:22 黯渊 阅读(115) 评论(0) 推荐(0)
摘要:public static void charuSort(int arr[]){ if(arr == null || arr.length < 2) return ; int N = arr.length; /* * 1 ~ N - 1 * 2 ~ N - 1 * 3 ~ N - 1 * 4 ~ N 阅读全文
posted @ 2021-11-05 16:50 黯渊 阅读(30) 评论(0) 推荐(0)
摘要:@Test public void yier(){ int []arr = {1,2,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9}; //假设这两个数设为 a,b int eor = 0; for(int i : arr) eor ^= i; //此时eor = a ^ b in 阅读全文
posted @ 2021-11-05 16:07 黯渊 阅读(81) 评论(0) 推荐(0)
摘要:public class Main { public static void main(String[] args) { // 创建一个数组,里面有两个 1,四个 2,三个 3 int arr[] = {1,2,3,2,3,2,3,2,1}; System.out.println(yi(arr)); 阅读全文
posted @ 2021-11-05 14:58 黯渊 阅读(99) 评论(0) 推荐(0)
摘要:public static void bubbletSort(int[]arr){ if(arr == null || arr.length < 2)return; int N = arr.length; /* * 0 ~ N - 1 * 0 ~ N - 2 * 0 ~ N - 3 * 0 ~ N 阅读全文
posted @ 2021-09-13 15:11 黯渊 阅读(35) 评论(0) 推荐(1)
摘要:public static void selectSort(int arr[]){ //先考虑边界条件 if(arr ==null || arr.length < 2)return ; /* * 0 - N-1 * 1 - N-1 * 2 - N-1 * ....... * i - N-1 * */ 阅读全文
posted @ 2021-09-13 15:10 黯渊
摘要:参考:https://blog.csdn.net/wcy8733996wcy/article/details/104436407/ @Test public void test12() { //输入n个数据 Scanner sc = new Scanner(System.in); int count 阅读全文
posted @ 2021-03-23 20:08 黯渊 阅读(107) 评论(0) 推荐(0)