算法与数据结构
算法与数据结构
魏云舒
这个作者很懒,什么都没留下…
展开
-
输出国际象棋棋盘
1、程序分析国际象棋是8*8的,i(0~7)代表行,j(0~7)代表列。当i+j为奇数的时候,是黑色格子,反之,白色格子。 2、程序实现方法一:两重循环(1)程序:for i in range(8): for j in range(8): if (i+j)%2!=0: print(chr(219)*2,end='') ...原创 2018-04-13 13:36:54 · 13256 阅读 · 1 评论 -
剑指Offer系列刷题笔记汇总
1、字符串剑指Offer(二):替换空格剑指Offer(二十七):字符串的排列剑指Offer(三十四):第一个只出现一次的字符剑指Offer(四十三):左旋转字符串剑指Offer(四十四):翻转单词顺序序列剑指Offer(四十九):把字符串转换成整数剑指Offer(五十二):正则表达式匹配剑指Offer(五十三):表示数值的字符串2、数组剑指Offer(一):二维数组中的查找...原创 2019-06-29 16:23:26 · 212 阅读 · 0 评论 -
剑指offer——29、删除链表中重复的节点
题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留。样例1输入:1->2->3->3->4->4->5输出:1->2->5样例2输入:1->1->1->2->3输出:2->3题解:(线性扫描)O(n)为了防止第一个节点出现重复,我们定义一个虚拟元素dummy 指向链表...原创 2019-06-26 22:35:21 · 86 阅读 · 0 评论 -
算法——最大数
1、题目给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入: [10,2]输出: 210示例 2:输入: [3,30,34,5,9]输出: 9534330说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。2、题目分析1、将输入的整数数组变成字符串数组;2、完成字符串数字之间的比较,(a+b) > (b+a);3、输出的结果可能...原创 2019-07-04 21:24:00 · 977 阅读 · 0 评论 -
算法——字符移位
小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出移位后的字符串。示例1输入AkleBiCeilD输出kleieilABCD解法1:错误#inclu...原创 2019-07-04 16:19:26 · 381 阅读 · 0 评论 -
算法——翻转数列
1、题目小Q定义了一种数列称为翻转数列:给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.而n = 4, m = 1, 数列就是: -1, +2, -3, + 4.小Q现在希望你能帮他算算前n项和为多少...原创 2019-07-04 17:15:46 · 695 阅读 · 0 评论 -
腾讯笔试
2019/9/20只做了其中的两道题:题目1:题目描述:输入描述:输出描述:实例:解法:#include <iostream>#include <vector>#include <string>using namespace std;int main(){ int t; cin>>t; wh...原创 2019-09-20 22:31:30 · 481 阅读 · 0 评论 -
剑指offer——17、从尾到头打印链表(基础)
题目输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。返回的结果用数组存储。样例输入:[2, 3, 5]返回:[5, 3, 2]算法单链表只能从前往后遍历,不能从后往前遍历。因此,我们从前往后遍历一遍输入的链表,将结果记录在答案数组当中。再将得到的数组逆序即可。/** * Definition for singly-linked list. * struct List...原创 2019-06-26 21:40:29 · 126 阅读 · 0 评论 -
智力题:分金条(7天2刀,15天3刀)
原创 2019-09-08 16:17:36 · 878 阅读 · 0 评论 -
二分法
方法一:递归法int binary_Search(vector<int> vt,int left,int right,int key){ if(left>right) { return -1;} int mid = (left+right)/2; if(key == vt[mid]) return mid; else if(key...原创 2019-09-28 15:37:13 · 111 阅读 · 0 评论 -
《剑指offer》面试题22——栈的压入、弹出序列(C++)
文章目录栈的压入、弹出序列(C++)1、题目描述2、思路3、代码栈的压入、弹出序列(C++)1、题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是...原创 2019-10-08 17:14:17 · 129 阅读 · 0 评论 -
招商局金融科技C++笔试题
文章目录题目一:字符串的全排列1.题目描述:2.分析3.代码题目二:数组的所有子集1.题目描述2.分析3.代码题目三:复制一个复杂链表1.题目描述2.分析3.代码题目一:字符串的全排列1.题目描述:问题:输入一字符串(要求不存在重复字符),打印出该字符串中字符中字符的所有排列。例如:输入”abc”,输出结果为abc, acb, bac, bca, cab和cba。2.分析递归法和非递归...原创 2019-10-09 22:11:24 · 709 阅读 · 0 评论