算法笔记
每天学习一个算法
折翼天使不孤单
这个作者很懒,什么都没留下…
展开
-
A+B问题
不使用加号,计算A+B的结果public class Solution { /** * @param a: An integer * @param b: An integer * @return: The sum of a and b */ public int aplusb(int a, int b) { // write your code here return plus(a,b); } pu原创 2020-06-03 23:02:22 · 93 阅读 · 0 评论 -
原地旋转数组
描述给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)。offset >= 0the length of str >= 0说明原地旋转意味着你要在s本身进行修改。你不需要返回任何东西。样例样例 1:输入: str="abcdefg", offset = 3输出: str = "efgabcd" 样例解释: 注意是原地旋转,即str旋转后为"efgabcd"样例 2:输入: str="abcdef...原创 2020-06-03 22:30:31 · 299 阅读 · 0 评论 -
找到落单的数
给出2 * n + 1个数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。n≤100样例样例 1:输入:[1,1,2,2,3,4,4]输出:3解释:仅3出现一次样例 2:输入:[0,0,1]输出:1解释:仅1出现一次挑战一次遍历,常数级的额外空间复杂度public class Solution { public int singleNumber(int[] A) { // write your code .原创 2020-06-03 21:36:43 · 238 阅读 · 0 评论 -
2.找到数组中的任意一个极大值
给定一个数组nums,其中nums[i]!=nums[i+1],找到极大值元素,并返回其索引。数组可能包含多个极大值,在这种情况下,返回任何一个极大值所在位置即可。可以假设nums[-1]=nums[n]=负无穷大/** * 利用折半查找的思想,中间值,大于两边值的时候返回中间值 * 中间值索引小于等于0的时候,返回索引0 * 中间值索引大于等于数据最大索引的时候,返回最大索引 * * @param arr * @param middle原创 2020-05-29 22:41:23 · 597 阅读 · 0 评论 -
倒置一个整数
1.反转一个int类型整数中文English反转一个只有3位数的整数。样例样例 1:输入: number = 123输出: 321样例 2:输入: number = 900输出: 9注意事项你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000。 public int reverse(int num) { int n = 0; while (num > 0) { n .原创 2020-05-29 22:30:39 · 646 阅读 · 0 评论