随笔分类 -  leetbook初级算法

摘要:请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 注意: 一个有效的数独(部分已被填充)不一定是 阅读全文
posted @ 2022-01-09 21:50 AD2017 阅读(77) 评论(0) 推荐(0)
摘要:移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明: 必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。 作者:力扣 (LeetCode)链接:https://le 阅读全文
posted @ 2022-01-09 21:01 AD2017 阅读(29) 评论(0) 推荐(0)
摘要:/*使用异或运算,将所有值进行异或 异或运算,相异为真,相同为假,所以 a^a = 0 ;0^a = a 因为异或运算 满足交换律 a^b^a = a^a^b = b 所以数组经过异或运算,单独的值就剩下了*/ class Solution { public int singleNumber(int 阅读全文
posted @ 2022-01-08 23:58 AD2017 阅读(24) 评论(0) 推荐(0)
摘要:旋转数组给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5 阅读全文
posted @ 2022-01-08 23:29 AD2017 阅读(41) 评论(0) 推荐(0)
摘要:买卖股票的最佳时机 II给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: pr 阅读全文
posted @ 2022-01-08 22:45 AD2017 阅读(28) 评论(0) 推荐(0)
摘要:void insertion_sort(int arr[], int len) { int i, j, temp; for (i = 1; i < len; i++) { temp = arr[i]; for (j = i; j > 0 && arr[j - 1] > temp; j--) arr[ 阅读全文
posted @ 2022-01-08 21:25 AD2017 阅读(29) 评论(0) 推荐(0)
摘要:删除排序数组中的重复项给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入 阅读全文
posted @ 2022-01-08 21:17 AD2017 阅读(30) 评论(0) 推荐(0)