[万人前提计划]《C语言入门100例》(第27例) 穷举查找——习题(C语言)

统计位数为偶数的数字icon-default.png?t=LA92https://leetcode-cn.com/problems/find-numbers-with-even-number-of-digits/

 简单遍历一般,将数位计数,偶数加一,最后输出结果。

int findNumbers(int* nums, int numsSize){
    int count = 0, ans = 0;
    int i;
    for(i = 0; i < numsSize; ++i){
        int tmp = nums[i];
        while(tmp){
            tmp /= 10;
            count++;//数位计数
        }
        if(count % 2 == 0){
            ans++;//数位为偶数结果加一
        }
        count = 0;
    }
    return ans;
}

有序数组中的单一元素icon-default.png?t=LA92https://leetcode-cn.com/problems/single-element-in-a-sorted-array/

 双指针二分查找法

int singleNonDuplicate(int* nums, int numsSize){
    int l = 0, r = numsSize - 1;
    while(l < r){
        int mid = l + (r - l)/2;
        if(mid % 2 == 1)mid--;
        if(nums[mid] == nums[mid+1]){
            l= mid + 2;
        } else{
            r = mid;
        }
    }
    return nums[l];
}

暴力解法

int singleNonDuplicate(int* nums, int numsSize){
    for(int i = 0; i < numsSize - 1; i += 2){
        if(nums[i] != nums[i+1]){
            return nums[i];
        }
    }
    return nums[numsSize-1];
}

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面icon-default.png?t=LA92https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/

 双指针

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* exchange(int* nums, int numsSize, int* returnSize){
   int left = 0, right = numsSize - 1;
   *returnSize = numsSize;
   while(left < right){
       while(left < numsSize && nums[left] % 2 == 1){
           left++;
       }
       while(right>=0 && nums[right] % 2 == 0){
           right--;
       }
       if(left>= right){
           break;
       }
       int tmp = nums[left];
       nums[left] = nums[right];
       nums[right] = tmp;
       left++;
       right--;
   }
   return nums;
}

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值