![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《剑指offer》刷题
qq_43313035
勇于拼搏 永远年轻
展开
-
找数组中的重复数字
不修改数组找出重复的数字 题目描述:在一个长度为n+1的数组里的所有数字都在1到n的范围内,所以数组中至 少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},那么对应的输出是重复的数字2或者3。 算法思路: 二分查找法: 如:{2,3,5,4,3,2,6,7} 先二分,先统计在1-4里面的数字个...原创 2019-03-21 17:24:18 · 181 阅读 · 0 评论 -
打印1-n之间的数
文章目录用字符串模拟数字的加法如何在字符串表达的数字上模拟加法??打印用字符串表示的数字打印1-n之间的数 用字符串模拟数字的加法 考虑到数字的加法对于大数来说有可能产生溢出,因此,我们考虑用字符串模拟数字的加法。 如何在字符串表达的数字上模拟加法?? 产生进位如何处理?? 如果是最高位产生进位则代表 达到最大值 除最高位的数字产生进位则该数字转化为(进位数-1),将产生的进位数...原创 2019-03-20 15:47:58 · 311 阅读 · 0 评论 -
剑指offer刷题笔记(整数的幂次方、用“\20”替换空格)
一、求整数的幂次方 递归求解思路: 判断两个数(浮点数)是否相等 bool equal(double num1,double num2) { if(num1-num2>-0.0000001&&num1-num2<0.0000001)//由于精度要求,只要满足该范围就认为等于0 { return true; } return false; } 指数为...原创 2019-03-14 22:53:28 · 122 阅读 · 0 评论 -
牛客网刷题笔记
一、连续子数组的最大和 int maxSum(int *arr,int len) { int sum=arr[0]; int result=arr[0]; for(int i=0;i<len;i++) { if(sum<0) { sum=arr[i];//抛弃之前的和 } else { su...原创 2019-03-09 22:31:30 · 84 阅读 · 0 评论 -
leetcode刷题——矩阵置零、寻找旋转数组中的最小值
解题思路: 用第一行和第一列记录这一行和这一列中是否有零,当然,一开始要先用firstRowIsZero 和firstColIsZero 记录第一行和第一列是否有零,最后再根据这个判断是否将第一行第一列置零。 class Solution { public: void setZeroes(vector<vector<int>>& matrix) { ...原创 2019-03-29 16:21:11 · 218 阅读 · 1 评论 -
剑指Offer刷题笔记
文章目录反转链表 反转链表 ListNode* reverseList(ListNode* head) { if(head==nullptr) { return nullptr; } ListNode *newList=nullptr; ListNode *cur=head; ...原创 2019-07-21 10:48:36 · 116 阅读 · 0 评论 -
剑指Offer刷题笔记
文章目录数组中重复的数字不修改数组找出重复的数字替换空格从尾到头打印链表二叉树的下一个节点 数组中重复的数字 题目描述: 找出数组中重复的数字 在一个长度为nnn的数字里的所有数字都在0−n−10-n-10−n−1的范围内。数组中某些数字是重复的,但不直到有哪几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 举例: 输入:长度为7的数组{2,3,0,2,5,3} 输...原创 2019-07-21 10:49:14 · 153 阅读 · 0 评论