随笔分类 -  offer 刷题

摘要:调整数组顺序使奇数位于偶数前面 1. 顺序保持不变 其实这个包含了顺序变化的 输入一个整数数组,实现一个函数来调整该数组中数字的顺序, 使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分, 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 这个方法很好: 就是用容器 直接把偶数从里面删除 阅读全文
posted @ 2019-08-20 10:29 高颖1995 阅读(345) 评论(0) 推荐(0)
摘要:1 阅读全文
posted @ 2019-08-19 23:10 高颖1995 阅读(630) 评论(0) 推荐(0)
摘要:1.知道这里为什么while一直调一次打印一次了吗 因为传进去的是字符串指针 字符串是变化的了 其实永远都是末位在动动动的 好强的逻辑性 看了好久才看懂!! 全排列还是没看懂。。。。。 阅读全文
posted @ 2019-08-19 21:05 高颖1995 阅读(173) 评论(0) 推荐(0)
摘要:1. 考虑各种情况 (是一种情况多的题) 考虑全局变量来标志异常 注意不能直接判断 double 类型的数据==0; 是有精度的!!!应该用equal 自己写或者调用c库的,但是C库好像有的时候不能用 阅读全文
posted @ 2019-08-19 17:58 高颖1995 阅读(206) 评论(0) 推荐(0)
摘要:// 面试题:剪绳子// 题目:给你一根长度为n绳子,请把绳子剪成m段(m、n都是整数,n>1并且m≥1)。// 每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0]*k[1]*…*k[m]可能的最大乘// 积是多少?例如当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此// 阅读全文
posted @ 2019-08-19 15:26 高颖1995 阅读(274) 评论(0) 推荐(0)
摘要:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 1.右移肯定是不行 因为若是有符号数中的复数,那么则进入死循环 2.左移flag 让n保持不动; 可能有疑惑:while(flag)不是一个死循环了吗?? 毕竟flag左移一直是大于0; 看调试结果: 证明了循环的次数等于 整数二进制 阅读全文
posted @ 2019-08-19 12:17 高颖1995 阅读(350) 评论(0) 推荐(0)
摘要:1. 和前面矩阵路径一样,即是使用递归,探索性前进,遍历各种情况 前面那个主函数里有循环是因为它可以从一个矩阵中的任意位置进入!! 我们这个题是只能从起始点(0,0)进入,用不到循环,但是访问过的节点也不能继续访问了!!(0,0)也满足要求,所以最差也是count=1; 注意:这个是行和列坐标不大于 阅读全文
posted @ 2019-08-19 11:14 高颖1995 阅读(169) 评论(0) 推荐(0)
摘要:1回溯法 阅读全文
posted @ 2019-08-18 18:17 高颖1995 阅读(170) 评论(0) 推荐(0)
摘要:1:采用二分法解答这个问题, mid = low + (high - low)/2 需要考虑三种情况: 1.array[low]>array[high] : 用两个指针来操作: 相当于二分法 低位指针在第一个递增序列内;高位指针在第二个递增序列内; (1)array[low]<array[mid] 阅读全文
posted @ 2019-08-18 12:08 高颖1995 阅读(140) 评论(0) 推荐(0)
摘要:1. 讲解: 阅读全文
posted @ 2019-08-17 19:20 高颖1995 阅读(96) 评论(0) 推荐(0)
摘要:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。 注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 1.分两种情况考虑 (1) 有右子树的情况: 那么它下一个节点就是它的右子树的最左子树 先右转 然后左转一直走!! (2) 无右子树的情况: (1)如果节点是其父 阅读全文
posted @ 2019-08-17 18:01 高颖1995 阅读(173) 评论(0) 推荐(0)
摘要:1.QVector 代码-迭代器 {牛客网编不过 QT可以过} 2.只用QVector {QT编不过 牛客可以过} 3.李佳伟 阅读全文
posted @ 2019-08-17 16:37 高颖1995 阅读(146) 评论(0) 推荐(0)
摘要:1.递归法实现 (输入前序和中序遍历的结果) 大神法递归(本来用java写的,我修改后结果对)(把结构体对象有的变成指针) 2.递归方式(课本的方式) 阅读全文
posted @ 2019-08-17 10:42 高颖1995 阅读(166) 评论(0) 推荐(0)
摘要:1、遍历压栈,出栈打印,前进后出 2.递归不好 链表非常长的时候会导致调用很深!! 可能导致函数调用栈溢出!! 阅读全文
posted @ 2019-08-16 22:12 高颖1995 阅读(76) 评论(0) 推荐(0)
摘要:1.选择从前向后 替换空格 每次重复挪动;效率低; 算法时间复杂度 O(n²) 2.选择从前向后 替换空格 利用两个指针操作!! 阅读全文
posted @ 2019-08-16 21:12 高颖1995 阅读(110) 评论(0) 推荐(0)
摘要:二维数组查找: 二维数组查找: (1)C语言实现方式: 2.C++实现方式: 原理和上述C实现是一样的 阅读全文
posted @ 2019-08-16 17:41 高颖1995 阅读(132) 评论(0) 推荐(0)
摘要:数组中重复的数字: 1.可用排序法(排序后就会知道重复数字) 时间复杂度O(nlogn) 空间复杂度 2.可用哈希表 时间复杂度 O(n) 空间复杂度O(n) //需要哈希表 3 .利用针对情况分析,下标法 时间复杂度O(n) 空间复杂度O(1) //在当前数组操作 阅读全文
posted @ 2019-08-16 16:56 高颖1995 阅读(122) 评论(0) 推荐(0)