leetcode
Tim_Coder
这个作者很懒,什么都没留下…
展开
-
字符串相加/相乘(大数相加、相乘)
字符串相加题目:思路:①取两个字符串末位字符 - '0’得到此位字符代表的实际值,相加并加上前一位的进位值②用StringBuffer来存答案,最后记得反过来,因为append每次都加在当前StringBuffer的后面代码:class Solution { public String addStrings(String num1, String num2) { int len1 = num1.length() - 1; int len2 = num2.l原创 2021-07-26 22:39:07 · 431 阅读 · 1 评论 -
主要元素-摩尔投票
题目:思路:①哈希表记录每个数字出现次数,不符合空间复杂的O(1)的要求②摩尔投票:算法的基本思想是:在每一轮投票过程中,从数组中删除两个不同的元素,直到投票过程无法继续,此时数组为空或者数组中剩下的元素都相等。2.1如果数组为空,则数组中不存在主要元素;2.2如果数组中剩下的元素都相等,则数组中剩下的元素可能为主要元素,要再判断一下出现次数是否达到一半以上代码:class Solution { public int majorityElement(int[] nums) {原创 2021-07-09 15:00:23 · 115 阅读 · 0 评论 -
前缀和
1.一维前缀和题目:代码:class NumArray { int[] sum; public NumArray(int[] nums) { int len = nums.length; sum = new int[len + 1]; for(int i = 0; i < len; i++){ sum[i + 1] = sum[i] + nums[i]; } } p原创 2021-04-22 21:18:22 · 61 阅读 · 0 评论 -
179.最大数(字符串解法,字符串知识点密集)
题目:解题思路:想法简单,实现较难对数组每个首位进行比较,若首位相等就比较第二位,以此类推,对数组进行排序但是首位相等比较第二位这个实现起来比较困难这里巧妙的用到了字符串,a,b是两个字符串,对a+b和b+a进行大小比较,可以同样实现功能,这里当然不能直接比较a,b,因为a = "9" , b = "45"时,a是要排在b前面的,即此时a比b大代码:class Solution { public String largestNumber(int[] nums) { i原创 2021-04-12 21:24:07 · 125 阅读 · 0 评论