![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
每天?月?周?一题
C_W@......
做一个简单的人,平和而执着,谦虚而无畏
展开
-
滑动窗口?就是快慢指针啦!
长度最小子数组 快慢指针,滑动窗口,划出最小值 public int minSubArrayLen(int target, int[] nums) { int res = Integer.MAX_VALUE; int i = 0; int j = 0; int sum = 0; int tmp = 0; for(j = 0; j < nums.length; j++){原创 2021-04-21 14:21:46 · 129 阅读 · 0 评论 -
数组移除元素,So easy
27移除元素 暴力方法就不展示了: 直接说数组中的双指针法: public int removeElement(int[] nums, int val) { int fastIndex = 0; int lowIndex = 0; for(fastIndex = 0; fastIndex < nums.length; fastIndex++){ if(nums[fastIndex] != val){原创 2021-04-21 13:51:03 · 63 阅读 · 0 评论 -
二分查找,不虚!(力扣35)
35.索引插入位置 题目分析: 位置一定会返回,不会有返回负数结果: 大致分为以下四种情况: 插入位置在所有元素之前 数字就是其中某个数组元素对应下标 插入位置在一大一小中间 插入位置在所有元素之后,也就是数组最后面 解法一:暴力 暴力解法就是:从头开始遍历,遍历到相等的位置就直接返回位置;如果第一个位置就比目标大,说明就是上面的第一种情况,在0位置插入;如果前一个小后一个大,就插在当前位置;如果比最后一个数还大,就插在末尾! if(nums[i] >= target) return i;这句原创 2021-04-21 13:09:50 · 52 阅读 · 0 评论 -
“归并排序下“解决最大最小数
求解最大最小数之和 题目了解: 给出数组,从第一位找出前面比自身小的数,直到最后一位,将这些数求和 例子: arr = { 3, 4, 6, 5, 2, 1}; 比3小有:因为第一个,所以没有,即为0 比4小有:3,保留 比6小有:3,4,故和为7 … 到最后1:前面没有,故为0 所以结果为0+3+7+7+0+0=17; 题解: 这里介绍的是利用归并排序解决 public static int smallSum(int[] arr) { if(arr == null || arr.lengt原创 2020-11-23 15:24:34 · 140 阅读 · 0 评论 -
解析回文字符串
回文字符串相关题解 点击了解回文字符串概念 点击查看本题 看到这道题,可以初步想法: 依次循环删除字符 删除以后判断是否为回文字符串 依次在这些做法基础上进行改进 判断回文字符串(存储字符串的可以是字符数组,也可以是链表) 一. 字符数组存储的字符串进行回文判断 思路一: 将字符串拆分成一个一个字符,放进一个字符数组中 用一个新的数组存放,只不过是逆序存放 依次判断字符是否相同,若有一个不相同就直接判断为不是 p private static boolean f1(String target原创 2020-11-21 20:58:20 · 211 阅读 · 0 评论 -
“借题发挥“的二进制解析
二进制提取位及各种运算 牛客链接1 牛客链接2 以上是求二进制的两道题,可以点击了解后再继续阅读 一.求"1"的个数 提供以下几种解题思路,并作比较 思路一: 循环进行以下操作,直到n被缩减为0: 用该数据模2,检测其是否能够被2整除 如果可以:则该数据对应二进制比特位的最低位一定是0,否则是1,如果是1给计数加1 如果n不等于0时,继续1 代码如下: int count_one_bit(int n) { int count = 0; while(n)//判断是否为0,即为终止条件 { if(原创 2020-11-20 00:40:32 · 234 阅读 · 0 评论