06 2021 档案

摘要:这个题技巧性比较强,主要是思路将n与n-1进行相与操作,通过这个操作可以消掉n的二进制表示最右边的1,当然也可以对每一位进行比较然后计数,但是这样做的话,时间复杂度可能是个问题,以下链接提供了三种思路 https://www.cnblogs.com/xiaoyh/p/10249006.html 问题 阅读全文
posted @ 2021-06-04 09:30 qwer95 阅读(34) 评论(0) 推荐(0)
摘要:首先看题目描述 题意不难理解,主要是思路 1、设置一个变量maxresult存储全局最大值,一个变量curresult存储当前的和; 2、然后开始遍历数组: 1)将curresult加上当前的值获得新curresult; 2)如果新curresult小于0,则重置curresult为0,并继续下一循 阅读全文
posted @ 2021-06-04 01:13 qwer95 阅读(36) 评论(0) 推荐(0)
摘要:二分查找在常见的面试题中也非常常见,思路基本上也差不多 首先看问题描述 这里有一个需要注意的点,就是要查找的数字可能在这个升序的整型数组中多次出现,而题目中要求返回的是第一个出现target的下标值,而经过二分法的方法第一次查找到的target的下标值可能不是不是这个升序数组中第一次出现的, 代码如 阅读全文
posted @ 2021-06-03 23:24 qwer95 阅读(50) 评论(0) 推荐(0)
摘要:进制转换能够衍生出的题型还是挺多的,但是只要能够理解进制转换的思想,其他题目也只是举一反三的事情 首先看问题描述 这个题目需要注意一个点,就是要考虑正数和负数两种情况,再就是十六进制,思路主要是通过while循环的方式,对需要转化为的进制数不断取余 代码如下: class Solution { pu 阅读全文
posted @ 2021-06-03 23:16 qwer95 阅读(47) 评论(0) 推荐(0)
摘要:首选看问题的相关描述以及示例输出 思路一:其实根据题意也不难发现,如果有出现数字的次数超过数组长度的一半,那么这个数组中的对应下标的中位数对应的值必定是出现次数超过一半的值,所以不难写出以下代码 class Solution { public: int MoreThanHalfNum_Solutio 阅读全文
posted @ 2021-06-03 23:04 qwer95 阅读(48) 评论(0) 推荐(0)
摘要:主要思路是定义两个指向结点的指针/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* 阅读全文
posted @ 2021-06-03 22:48 qwer95 阅读(15) 评论(0) 推荐(0)