随笔分类 -  算法笔记学习心得

刷题总结算法题知识点
摘要:例题: n皇后问题 Problem Description:在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。 Input:共有若干行,每行一个正整数N≤10,表 阅读全文
posted @ 2020-08-09 11:04 Heinrich♣ 阅读(111) 评论(0) 推荐(0)
摘要:题目描述: “臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会 并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。 首先你对借阅记录进行了一番整理,把 阅读全文
posted @ 2020-08-08 11:04 Heinrich♣ 阅读(104) 评论(0) 推荐(0)
摘要:例:给出N个正整数,再给出M个正整数,问这M个数中的每个数分别是否在N个数中出现过 思路一:对每个要查询的正整数x,遍历所有n个数,看是否有一个数与x相等 思路二:用空间换时间,设定一个bool型数组hashTable,其中hashTable[x]==true表示正整数x在N个正整数中出现过,而ha 阅读全文
posted @ 2020-08-08 09:15 Heinrich♣ 阅读(118) 评论(0) 推荐(0)
摘要:题目描述: 请写一个程序,对于一个m行m列的(1<m<10)的方阵,求其每一行,每一列及主对角线元素之和,最后按照从大到小的顺序依次输出。 输入: 共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。 输出: 从大到小排列的一行整数,每个整数后跟一个空格,最后换行。 阅读全文
posted @ 2020-08-07 10:37 Heinrich♣ 阅读(135) 评论(0) 推荐(0)
摘要:题目描述: Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3  阅读全文
posted @ 2020-08-06 09:42 Heinrich♣ 阅读(207) 评论(0) 推荐(0)
摘要:时间复杂度:O(nlogn)二分一次需要logn表示层数,每一层元素个数n个 空间复杂度:O(n)需要数组同样大小的临时空间 将数组按照二分法,分成两块,分别各自排顺序 给出如下数组 将两部分分别排好序 然后用分别排好序的数组 首先,将原数组复制一遍,蓝色箭头表示原数组,红色箭头表示新数组 将复制的 阅读全文
posted @ 2020-08-01 10:40 Heinrich♣ 阅读(165) 评论(0) 推荐(0)
摘要:简单选择排序是指对一个序列A种的元素A[1]-A[n],令i从1到n枚举,进行n次操作,每趟从待排序部分[i,n]中选择最小的元素,令其与待排序部分的第一个元素A[i]进行交换,这样元素A[i]就会与当前有序区间[1,i-1]形成心得有序区间[1,i]于是在n次排序后所有元素就会是有序的。 1.选择 阅读全文
posted @ 2020-07-31 11:22 Heinrich♣ 阅读(106) 评论(0) 推荐(0)
摘要:题目描述: 请输入字符串,最多输入4 个字符串,要求后输入的字符串排在前面,例如 输入:EricZ 输出:1=EricZ 输入:David 输出:1=David 2=EricZ 输入:Peter 输出:1=Peter 2=David 3=EricZ 输入:Alan 输出:1=Alan 2=Peter 阅读全文
posted @ 2020-07-31 10:37 Heinrich♣ 阅读(168) 评论(0) 推荐(0)
摘要:题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。 输入: 测试数据有多组,每组输入字符串s和字符c。 输出: 对于每组输入,输出去除c字符后的结果。 样例输入: goaod a 样例输出: good 思路: 代码: #include<iostream> using names 阅读全文
posted @ 2020-07-30 10:44 Heinrich♣ 阅读(153) 评论(0) 推荐(0)
摘要:题目描述: 输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。 输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。当m为0时输入结束。 输出格式:每个测试用例的输出占一行,输出A+B的m进制数。 样例输入: 2 阅读全文
posted @ 2020-07-29 09:27 Heinrich♣ 阅读(124) 评论(0) 推荐(0)
摘要:题目描述 The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair 阅读全文
posted @ 2020-07-26 09:41 Heinrich♣ 阅读(138) 评论(0) 推荐(0)
摘要:1. C和C++部分区别 输入输出,指针引用 C语言的scanf和printf比C++的cin和cout要快 2. 头文件是什么 #include<stdio.h> 例如stdio是标准输入输出库,.h是头文件的文件格式。文件中包含一些跟输入输出有关的东西,程序需要输入输出的时候,需要引用头文件才能 阅读全文
posted @ 2020-06-23 22:08 Heinrich♣ 阅读(309) 评论(0) 推荐(0)