![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Mr.zhang_FPGA
技术人生,有总结才有提高
展开
-
多数元素
多数元素求一个数组中的多数元素,多数元素指数组中出现次数大于n/2,n为数组中元素的个数。假设数组元素是非空的,并且总是存在多数元素。示例1input :[3,3,4]output 3示例2input :[1,2,3,2,3,2,2,2,2,1]output :2思路-摩尔投票法摩尔投票法的核心思想就是对拼消耗法另外一个诸侯争霸的游戏也是这个思路:假设你方人口超过总人口一半以上,并且能保证每个人口出去干仗都能一对一同归于尽。最后还有人活下来的国家就是胜利。程序思路从第一原创 2021-01-12 19:49:19 · 253 阅读 · 0 评论 -
实现strStr()函数
实现strStr()函数实现strStr()函数,给定两个字符串,string1,string2。在 string1字符串中找出 string2 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1示例11:string1 = ‘hello’2:string2 = ‘ll’3:输出 2示例21:string1 =‘hello’2:string2 =‘oo’3:输出 -1codeint strStr(char * haystack, char * needle){原创 2020-12-29 14:04:55 · 2433 阅读 · 1 评论 -
打家劫舍
打家劫舍题目你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。来源:力扣(LeetCode)示例1输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3原创 2020-12-26 13:59:30 · 98 阅读 · 1 评论 -
同构字符
同构字符给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例1输入: s = “egg”, t = “add”输出: true示例2输入: s = “foo”, t = “bar”输出: false示例3输入: s = “paper”, t = “title”输出: truecode1bool i原创 2020-12-22 09:51:17 · 1359 阅读 · 0 评论 -
如何判断一个数是否为2的幂
如何判断一个数是否为2的幂题目给定一个整数,写一个函数判断该函数是否为2的幂。例如输入 16输出 true输入:5输出:falsecode1bool isPowerOfTwo(int n){ long x; x=n;if(n==0)return false;return (x &(x-1) )==0;}code2bool isPowerOfTwo(int n){ long x; x=n;if(n==0)return原创 2020-11-23 15:53:46 · 2773 阅读 · 0 评论 -
移除元素
移除元素题目给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例2给定 nums = [0,1,2,2,3,0,4,2], val = 2,函数应该返回新的长度 5, 并且 nums 中的前原创 2020-11-16 19:25:23 · 185 阅读 · 0 评论 -
回文数
回文数回文是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。1.偶数个的数字也有回文数1244212.小数没有回文数题目写一个判断回文数的函数。codebool isPalindrom原创 2020-11-16 18:51:08 · 248 阅读 · 0 评论 -
整数反转
整数反转题目给定一个32位有符号整数,要求将整数中的每位数字反转。反转后整数溢出就返回0;输入123返回321输入-123返回-321输入120返回21解题思路利用取模,取余的思路,得到输入的尾数,并进行拼接得到新的数。考虑反转后会存在溢出的问题,对反转后的数字进行判断。codeint reverse(int x){ long count=0; int max = 0x7fffffff,min=0x80000000; while(x!=0){原创 2020-11-14 13:40:04 · 143 阅读 · 0 评论 -
两数之和
两数之和题目假定给你一个数组A,和一个目标值target ,现要求在数组A中找到两个数的和,并返回两个数的下标。假设每种输入只对应一个答案,要求数组中的元素只能使用一次。例如A=[1,2,3,4] target = 7,返回值为[2,3].思路及算法暴力枚举法枚举数组中的每一个元素,找到两个数使得,x+y=target;或者匹配数组中target-x的值。另外要求数组中的元素只能使用一次,因此匹配的时候,y应该在x元素之后。/** * Note: The returned arra原创 2020-11-14 10:39:29 · 163 阅读 · 0 评论