【程序员札记#学习&&塑形# 】2018年5月04号
- 工作:新闻排重评估 (紧急重要的)今天务必完成。
- 工作:数据监控系统方案调研 (非紧急重要的)
- 健康:跑步7公里(完成)
- 学习:leetcode做一道算法题(非紧急重要的)
- 健康:后背训练;(非紧急非重要的)
- 学习:算法导论(非紧急重要的)
#include <vector>
#include <map>
/**
*
*给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
*你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
*case:
*给定 nums = [2, 7, 11, 15], target = 9
*因为 nums[0] + nums[1] = 2 + 7 = 9
*所以返回 [0, 1]
*/
using namespace std;
class Solution {
public:
// 两两对比的方式,时间复杂度为O(n2)
vector<int> twoSum(vector<int>& nums, int target) {
vector<int> ret;
// 第一种
/*for (int i = 0; i < nums.size(); i++) {
for (int j = i + 1; j < nums.size(); j++) {
if (nums[i] + nums[j] == target) {
ret.push_back(i);
ret.push_back(j);
return ret;
}
}
}*/
// 第二种:数据插入到hashmap里,然后通过target - nums[i]来确定,时间复杂度为O(2n)
map<int, int> m;
; i < nums.size(); i++) {
m[nums[i]] = i;
}
; i < nums.size(); i++) {
&& i != m[target - nums[i]]) {
ret.push_back(i);
ret.push_back(m[target - nums[i]]);
return ret;
}
}
return ret;
}
};
#include <vector>
#include <map>
#include <iostream>
#include <math.h>
/**
*
给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。
你可以假设除了数字 0 之外,这两个数字都不会以零开头。
示例:
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807
*/
using namespace std;
struct ListNode{
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL){}
};
template<class T>
int length(T& arr) {
]);
}
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
uint64_t carry = , sum = ;
ListNode prehead(), *p = &prehead;
while (l1 || l2) {
sum = (l1 ? l1->val : ) + (l2 ? l2->val : ) + carry;
sum = carry / ;
p->next = );
l1 = l1 ? l1->next : l1;
l2 = l2 ? l2->next : l2;
p = p->next;
}
return prehead.next;
}
};
int main(int argc, char** argv){
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};
ListNode* tmp = );
ListNode* ptr1 = tmp;
; i < length(a); i++) {
ptr1->next = new ListNode(a[i]);
ptr1 = ptr1->next;
}
ptr1 = tmp->next;
delete tmp;
tmp = );
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};
ListNode* ptr2 = tmp;
; j < length(b); j ++) {
ptr2->next = new ListNode(b[j]);
ptr2 = ptr2->next;
}
ptr2 = tmp->next;
delete tmp;
Solution* solution = new Solution();
solution->addTwoNumbers(ptr1, ptr2);
delete solution;
;
}

【程序员札记#学习&&塑形# 】2018年5月04号的更多相关文章
- GJM : 游戏程序员的学习之路
原文作者:miloyip 原帖地址:http://gad.qq.com/article/detail/7180681 原帖备注:版权所有,禁止匿名转载:禁止商业使用:禁止个人使用. 腾讯前端技术总监 ...
- PHP程序员进阶学习书籍参考指南
PHP程序员进阶学习书籍参考指南 @heiyeluren lastmodify: 2016/2/18 [初阶](基础知识及入门) 01. <PHP与MySQL程序设计(第4版)> ...
- .net程序员的学习计划
.net程序员的学习计划 与其说是计划,不如说是抄来的课程表.基于最近老大要求写一份一年的职业规划.我是一个向来没什么规划的人,不是职场规划,就连平时的规划都没有,基本上就是有什么任务就去完成.回想起 ...
- zz 游戏程序员的学习之路(中文版)
游戏程序员的学习之路(中文版) Milo Yip · 1 天前 感谢 @楚天阔(tkchu)编写脚本及整理中文译本数据,自动从英文版生成中文版,SVG / PDF 版本中的书籍图片现在链接至豆瓣页面. ...
- 程序员谈学习:我为什么要学习Linux?
http://kb.cnblogs.com/page/196876/ 好长时间没好好写点东西了,前段时间由于项目的需要出差了一个多月,期间各种加班,每天晚上加班到十点,回到宾馆实现是没什么精力再写博客 ...
- PHP开发程序员的学习路线
PHP开发程序员的学习路线 兄弟连PHP培训,简单为大家梳理了每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标. 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟 ...
- 2020年Java程序员应该学习的10大技术
对于Java开发人员来说,最近几年的时间中,Java生态诞生了很多东西.每6个月更新一次Java版本,以及发布很多流行的框架,如Spring 5.Spring Security 5和Spring Bo ...
- .Net程序员快速学习安卓开发-布局和点击事件的写法
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 本系列课程 致力于老手程序员可以快速入门学习安卓开发.系统全面的从一个.Net程序员的角度一步步学习总结安 ...
- 五年.net程序员Java学习之路
大学毕业后笔者进入一家外企,做企业CRM系统开发,那时候开发效率最高的高级程序语言,毫无疑问是C#.恰逢公司也在扩张,招聘了不少.net程序员,笔者作为应届生,也乐呵呵的加入到.net程序员行列中. ...
随机推荐
- android开源库发布到jcenter图文详解与填坑
相信很多人都用过开源项目,特别是android studio普及以后,使用开源库更方便简单.而如何上传开源库到jcenter供大家方便使用,虽然网上也有教程,但还是遇坑了,最后总结一下,希望可以帮助大 ...
- android之View绘制
Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类,由此就得到了视图部分的基本结构--树形结构 View定义了绘图的基本 ...
- HTML5中 HTML格式化/HTML样式/链表/表格-样式 韩俊强的博客
HTML5学习从简单到复杂,循环渐进! 每日更新关注:http://weibo.com/hanjunqiang 新浪微博! 1.HTML格式化 <!DOCTYPE html> <h ...
- 08 ListView 优化的例子
package com.fmy.homework; import java.util.List; import com.fmy.homework.httputil.HttpUtil; import c ...
- Android开发学习之路--异步消息Handler,Message,Looper和AsyncTask之初体验
在简易音乐播放器中,用了Handler,也没有过多地去研究学习,这里再学习下android下的异步消息处理机制.这里用了Handler主要是在线程中不能更新UI,而需要通过Handler才可以.关于异 ...
- TCP的ACK确认系列 — 发送状态转换机
主要内容:TCP的ACK发送方式,以及ACK发送状态转换机的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 概述 TCP采用两种方式来发送ACK: ...
- numpy教程:统计函数Statistics
http://blog.csdn.net/pipisorry/article/details/48770785 , , ] , '\n') 输出: True 当然可以设置度参数bias : int, ...
- Java和计算机科学课程的关系
翻译人员: 铁锚 翻译时间: 2013年11月20日 原文链接: Java and Computer Science Courses 一个好程序员不仅要知道如何编程来完成特定任务,还要了解为什么要这样 ...
- 【Linux 操作系统】Ubuntu 配置 ftp freemind adb
. 1. 配置apt-get源 配置过程 : sudo vim /etc/profile 命令, 在后面添加下面的内容; 刷新配置文件 : source /etc/profie 命令; 刷新源 : s ...
- json进阶(一)js读取解析JSON类型数据
js读取解析JSON类型数据 一.什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式,同 ...