最近在家拧三阶魔方,把初级的玩法掌握了,也就是可以还原六个面了,速度不快,但是也很兴奋。三阶魔方的初级玩法按照套路拧就可以了,每一步需要完成的任务,该步骤转动的方法基本都是固定的,而且变化也并不是特别多。只要按照套路多练习,不考虑速度的情况下还原一个三阶魔方还是很容易的。

  编程入门和还原魔方其实差不多,最初也是掌握套路后反复的练习,先从一个生手变成一个熟手,然后再去提高。分享一个段子,在知乎上看到的,如下:

陈康肃公尧咨善射,当世无双,公亦以此自矜。尝射于家圃,有卖油翁释担而立,睨之,久而不去。见其发矢十中八九,但微颔之。
  康肃问曰:“汝亦知射乎?吾射不亦精乎?”翁曰:“无他,但手熟尔。”康肃忿然曰:“尔安敢轻吾射!”翁曰:“以我酌油知之。”乃取一葫芦置于地,以钱覆其口,徐以杓酌油沥之,自钱孔入,而钱不湿。因曰:“我亦无他,惟手熟尔。”康肃笑而遣之。 
LeetCode 题库的第一题——两数之和
我先找了一些简单而又比较好完成的题去完成,而且一定要是自己独立完成,且直接在 LC 上写代码,不去开发环境中写代码调试,这样才有提高。题目如下图,直接从网站上把图截取过来的。

解题答案

  我的解题答案是用 C 语言完成的,代码如下:

 1 /**
 2  * Note: The returned array must be malloced, assume caller calls free().
 3  */
 4 int* twoSum(int* nums, int numsSize, int target) {
 5     int i, j;
 6     int *pArr = NULL;
 7
 8     for ( i = 0; i < numsSize; i ++ ) {
 9         for ( j = i + 1; j < numsSize; j ++  ) {
10             if ( nums[i] + nums[j] == target ) {
11                 goto EXIT;
12             }
13         }
14     }
15 EXIT:
16
17     if ( i < numsSize && j < numsSize ) {
18         pArr = (int*)malloc(2 * sizeof(int));
19         pArr[0] = i;
20         pArr[1] = j;
21     }
22
23     return pArr;
24 }

  函数的原型是LeetCode已经定义好的,最上面的注释也是LeetCode中的,代码的思路也比较简单,两层循环来进行逐个的进行 加法 运算,计算获得 target 值之后用 goto 直接跳出两层循环( C 语言不建议使用 goto 语句,但是并没有说不允许使用,直接结构清楚,goto 用来跳出多层嵌套是很方便的),然后通过 堆空间 来把数组的两个下标返回,类似的很多题都是通过堆空间来返回值的。

  把自己的答案分享在这里,献丑了,也许哪个大牛指点一下还会提高一下。

欢迎大家关注微信公众号:“码农UP2U”

转载于:https://www.cnblogs.com/tosser/p/9383986.html

LeetCode1——两数之和相关推荐

  1. LeetCode1. 两数之和

    LeetCode1. 两数之和 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应 ...

  2. LeetCode1.两数之和

    LeetCode1.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你 ...

  3. 从leetcode1. 两数之和循序渐进(双指针,BST,哈希表)

    leetcode1. 两数之和 1.之前只知道桶排序那种标志数组,所以看到第一眼就想到那个方面去了.但在本题数组里面存储某个数出现的次数对该题是没有意义的,应该存储某个数出现的位置. 2.哈希表是优化 ...

  4. leetcode1. 两数之和--每天刷一道leetcode系列!

    来自:程序员面试 作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回他们 ...

  5. leetcode中文版python_Python版LeetCode1.两数之和

    啦啦啦,欢迎开启LeetCode刷题的旅程,这将是一段漫长而又艰辛的旅程.这道Two Sum的题目作为LeetCode的开篇之题,乃是经典中的经典,正所谓'平生不识TwoSum,刷尽LeetCode也 ...

  6. leetcode1 两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元 ...

  7. LeetCode-1两数之和

    给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案. 但是,数组中同一个元素在答 ...

  8. LeetCode-1.两数之和(哈希表)

    题目内容 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 给定一个整数数组 nums 和一个整数目标值 target,请你在该数 ...

  9. LeetCode1两数之和

    题目: 给定一个整数数列,找出其中和为特定值的那两个数. 你可以假设每个输入都只会有一种答案,同样的元素不能被重用. 示例: 给定 nums = [2, 7, 11, 15], target = 9因 ...

最新文章

  1. 【深度学习理论】(1) 损失函数
  2. decode函数_decode函数的妙用网友的两个问题解答
  3. form表单提交不刷新页面的方法
  4. 【推荐】关于JS中的constructor与prototype【转】
  5. 【翻译】How-To: Using the N* Stack, part 3
  6. js数组如何按照固定的下标去重_js数组去重方法总结
  7. Java IO之File
  8. AjaxPro 未定义错误
  9. 自动化测试 (四) 自动卸载软件
  10. VMware Workstation Pro新建虚拟机的操作步骤(插图)
  11. linux 内核 addr2line,介绍addr2line调试命令
  12. VBS中实现99乘法表的输出
  13. 一个不错的控件网站-慧都控件网
  14. 将加密的pdf转化成word
  15. 【OpenCV】 ⚠️实战⚠️ 女子深夜久久不能入眠,300行写出全能扫描王! ☢️建议手收藏☢️
  16. linux系统性能监控--内存利用率
  17. 互联网思维(三)——产业思维
  18. win10鼠标右键点击文件夹一直转圈问题解决
  19. 如何检测计算机主板的好坏,主机电源怎么测试好坏
  20. JS(javascript)中this的几种用法实例详解

热门文章

  1. Spring和Spring Mvc整合详解
  2. 网站制作, 从零开始, WordPress教学课程 (完整视频)
  3. python的代码是什么样的图片_python实现识别相似图片小结
  4. 轨交锐眼 App 技术支持
  5. 华为怎么分屏操作技巧_pdf文件怎么拆分页面?这些技巧堪称神操作!
  6. 【D3D11游戏编程】学习笔记九:编译Effect的方法
  7. 【C语言】求一千以内的素数 第一种方法
  8. 德艺双修才貌双全 史上16位青楼佳人 莘瑶琴喜嫁卖油郎
  9. php 脚本本机ip,一键自动更改本机IP地址的批处理脚本
  10. Xgboost存储为pmml以及在java中调用